递归火山软件开发平台

标题: 易语言这个API 为何转换会出现参数错误?请大佬 [打印本页]

作者: sss啥    时间: 2022-6-5 21:58
标题: 易语言这个API 为何转换会出现参数错误?请大佬
易语言这个API 为何转换会出现参数错误?请大佬

CreateProcessAsUserA (0, road, 命令行, 0, 0, 0, 524288, 0, start, si, pi)

.版本 2
.DLL命令 CreateProcessAsUserA, 逻辑型, "advapi32.dll", "CreateProcessAsUserA"
    .参数 hToken, 整数型, , 0
    .参数 lpApplicationName, 文本型, , 0
    .参数 lpCommandLine, 文本型, , 0
    .参数 lpProcessAttributes, 整数型, , 0
    .参数 lpThreadAttributes, 整数型, , 0
    .参数 bInheritHandles, 整数型, , 0
    .参数 dwCreationFlags, 整数型, , 0
    .参数 lpEnvironment, 整数型, , 0
    .参数 lpCurrentDirectory, 文本型, , 0
    .参数 lpStartupInfo, STARTUPINFOEX, , 0
    .参数 lpProcessInformation, PROCESS_INFORMATION, , 0

在火山中:

无法截图。。论坛出现问题了啊

火山中:CreateProcessAsUser(0, 0, 取字节集指针 (文本到字节集 (命令行)), 0, 0, 假, 524288, 0, 0, si, pi)

其中的524288只有改成0才可以,如果不改,就显示参数错误。
CreateProcessAsUser方法:



作者: Xelloss0618    时间: 2022-6-5 22:57
你火山的都没发出来,怎么知道你有没写错呢,易语言转过来,很多类型要改的
作者: shuimiao    时间: 2022-6-6 06:57
CreateProcessAsUserW 火山要用w。用A的话,需要文本到多字节(,假),API的文本和字节集在火山要改成变整数,然后用取文本指针,取字节集指针,取变量指针,逐个试,赋值指针给变整数
作者: 羡羡    时间: 2022-6-6 08:45

第二个参数不能是0
作者: sss啥    时间: 2022-6-6 09:03
shuimiao 发表于 2022-6-6 06:57
CreateProcessAsUserW 火山要用w。用A的话,需要文本到多字节(,假),API的文本和字节集在火山要改成变整 ...

火山上传不了截图了 没办法截图火山的,也不能复制火山。但你说的 我都已经用多了 我用的是W 不是A 还有文本和字节集到变整数 这些我都弄了。只出现在其中的524288只有改成0才可以 这个问题上
作者: sss啥    时间: 2022-6-6 09:04
羡羡 发表于 2022-6-6 08:45
第二个参数不能是0

那为什么易语言中第二参数可以为0  而且在C++中 我测试了第二个参数null也没问题。
作者: Xelloss0618    时间: 2022-6-6 09:56
如果你上传不了截图,可以把源码或截图传到网盘,给网盘链接
第二个参数是可以填 NULL 的
那个 524288 是 EXTENDED_STARTUPINFO_PRESENT,作用是把倒数第二参数 lpStartupInfo 的结构体从 STARTUPINFO 改成 STARTUPINFOEX
如果你用 524288 提示参数错误,那可能你给的结构体是 STARTUPINFO




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4