寻找一个例子:
- 启动一个 EXE
- 等待 EXE 完成。
- 可执行文件完成后正确关闭所有句柄。
原文由 jm. 发布,翻译遵循 CC BY-SA 4.0 许可协议
#include <Windows.h>
void my_cmd()
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
// CMD command here
char arg[] = "cmd.exe /c E:/Softwares/program.exe";
// Convert char string to required LPWSTR string
wchar_t text[500];
mbstowcs(text, arg, strlen(arg) + 1);
LPWSTR command = text;
// Run process
CreateProcess (NULL, command, NULL, NULL, 0,
CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
}
这对我来说很好。没有弹出窗口和 cmd 命令按预期运行。只需要将 CHAR 指针转换为 WCHAR 指针并在每个命令前添加额外的“cmd.exe /c”。
原文由 Giver Khadka 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
像这样的东西: