Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建进程不工作 我在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 - Fatal编程技术网

创建进程不工作 我在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++中使用下面的代码时遇到了问题(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";

你需要把STARTUPINFO归零

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
。找到它了。我必须反转前两个参数(不知道为什么),但它现在起作用了。谢谢将您的答案标记为正确答案,因为如果没有您的建议,该程序也不会工作。请在所有警告都打开的情况下编译。“可疑指针转换”通常是一个致命的赠品。我明白了。我必须反转前两个参数(不知道为什么),但它现在起作用了。谢谢将您的答案标记为正确答案,因为如果没有您的建议,该程序也不会工作。请在所有警告都打开的情况下编译。“可疑指针转换”通常是一个死赠品。