创建进程不工作 我在C++中使用下面的代码时遇到了问题(VC++控制台应用程序)。它只是不创建流程,而是打印出错误文本 static void main(){ char *hotkeyexe = "cmd"; PROCESS_INFORMATION pi; STARTUPINFO si; if(!CreateProcess(hotkeyexe, "", 0, 0, 0, 0, 0, 0, &si, &pi)) printf("error"); scanf("%d"); } }
你需要把STARTUPINFO归零创建进程不工作 我在C++中使用下面的代码时遇到了问题(VC++控制台应用程序)。它只是不创建流程,而是打印出错误文本 static void main(){ char *hotkeyexe = "cmd"; PROCESS_INFORMATION pi; STARTUPINFO si; if(!CreateProcess(hotkeyexe, "", 0, 0, 0, 0, 0, 0, &si, &pi)) printf("error"); scanf("%d"); } },c++,process,createprocess,C++,Process,Createprocess,你需要把STARTUPINFO归零 ZeroMemory(&si, sizeof(si)); 你需要把STARTUPINFO归零 ZeroMemory(&si, sizeof(si)); 我引述: 该函数将不使用搜索路径。此参数必须包含文件扩展名;假定没有默认扩展名 所以你不能只使用cmd。这将取决于你的工作方向,如果它将工作。如果使用完整路径,它将起作用。这是我机器上的一个工作示例 char *hotkeyexe = "c:\\Windows\\notepad.exe";
ZeroMemory(&si, sizeof(si));
你需要把STARTUPINFO归零
ZeroMemory(&si, sizeof(si));
我引述:
该函数将不使用搜索路径。此参数必须包含文件扩展名;假定没有默认扩展名
所以你不能只使用cmd。这将取决于你的工作方向,如果它将工作。如果使用完整路径,它将起作用。这是我机器上的一个工作示例
char *hotkeyexe = "c:\\Windows\\notepad.exe";
PROCESS_INFORMATION pi;
STARTUPINFO si;
ZeroMemory(&si, sizeof(si));
if(!CreateProcess(hotkeyexe, "", 0, 0, 0, 0, 0, 0, &si, &pi))
printf("error");
scanf("%d");
我引述:
该函数将不使用搜索路径。此参数必须包含文件扩展名;假定没有默认扩展名
所以你不能只使用cmd。这将取决于你的工作方向,如果它将工作。如果使用完整路径,它将起作用。这是我机器上的一个工作示例
char *hotkeyexe = "c:\\Windows\\notepad.exe";
PROCESS_INFORMATION pi;
STARTUPINFO si;
ZeroMemory(&si, sizeof(si));
if(!CreateProcess(hotkeyexe, "", 0, 0, 0, 0, 0, 0, &si, &pi))
printf("error");
scanf("%d");
int-main
,而不是静态无效main
int-main
,而不是静态无效main
。找到它了。我必须反转前两个参数(不知道为什么),但它现在起作用了。谢谢将您的答案标记为正确答案,因为如果没有您的建议,该程序也不会工作。请在所有警告都打开的情况下编译。“可疑指针转换”通常是一个致命的赠品。我明白了。我必须反转前两个参数(不知道为什么),但它现在起作用了。谢谢将您的答案标记为正确答案,因为如果没有您的建议,该程序也不会工作。请在所有警告都打开的情况下编译。“可疑指针转换”通常是一个死赠品。