易语言这个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方法:
你火山的都没发出来,怎么知道你有没写错呢,易语言转过来,很多类型要改的 CreateProcessAsUserW 火山要用w。用A的话,需要文本到多字节(,假),API的文本和字节集在火山要改成变整数,然后用取文本指针,取字节集指针,取变量指针,逐个试,赋值指针给变整数
第二个参数不能是0 shuimiao 发表于 2022-6-6 06:57
CreateProcessAsUserW 火山要用w。用A的话,需要文本到多字节(,假),API的文本和字节集在火山要改成变整 ...
火山上传不了截图了 没办法截图火山的,也不能复制火山。但你说的 我都已经用多了 我用的是W 不是A 还有文本和字节集到变整数 这些我都弄了。只出现在其中的524288只有改成0才可以 这个问题上 羡羡 发表于 2022-6-6 08:45
第二个参数不能是0
那为什么易语言中第二参数可以为0而且在C++中 我测试了第二个参数null也没问题。 如果你上传不了截图,可以把源码或截图传到网盘,给网盘链接
第二个参数是可以填 NULL 的
那个 524288 是 EXTENDED_STARTUPINFO_PRESENT,作用是把倒数第二参数 lpStartupInfo 的结构体从 STARTUPINFO 改成 STARTUPINFOEX
如果你用 524288 提示参数错误,那可能你给的结构体是 STARTUPINFO
页:
[1]