gpt4 book ai didi

c++ createprocess powershell as admin,隐藏并且不要等待它

转载 作者:行者123 更新时间:2023-11-30 05:48:35 25 4
gpt4 key购买 nike

这就是我所拥有的,在没有命令的情况下启动 powershell.exe 并在它之后直接关闭。为什么它不起作用?

int main(int argc, char *argv[])
{

[...]
CreateProcess( NULL, // No module name (use command line)
"powershell.exe -command \".C:\\test\\t.ps1\" ",
[...]
&si, // Pointer to STARTUPINFO structure
&pi ); // Pointer to PROCESS_INFORMATION structure

return 0;
}

在普通的 cmd 中,命令看起来像这样:

powershell -command ".c:\test\t.ps1"

在文件中这个单行,如果你想测试它:

write-host "hello world" |out-file C:\test\hi.txt

应该在控制台写hello world,在文件夹里创建hi.txt

最佳答案

命令行应该是:

CreateProcess(NULL, // No module name (use command line)
"powershell.exe -command \"& {C:\\test\\t.ps1}\"",

CreateProcess(NULL, // No module name (use command line)
"powershell.exe -file C:\\test\\t.ps1",

一般情况下,除非退出代码对您很重要,否则使用 -File 执行脚本。如果是,请使用 -Command,因为 -File 存在错误,即使出现错误,它也始终返回 0(成功)。

如果您希望 powershell.exe 的执行提示提升,请使用 ShellExecute API 代替。为 lpOperation 传入 "RunAs",您可以使用 nShowCmd 参数指定隐藏窗口。

关于c++ createprocess powershell as admin,隐藏并且不要等待它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28132243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com