CreateProcess函数回来的进程ID和任务管理器的不同
1 void Proc() 2 { 3 STARTUPINFO si = { 0 }; 4 PROCESS_INFORMATION pi = { 0 }; 5 CreateProcess("c:/windows/system32/calc.exe", "", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); 6 printf("进程ID=%d,进程句柄%d\n", pi.dwProcessId, pi.hProcess); 7 }
代码执行后,开启计算器calc.exe, pi.dwProcessId 返回的进程ID 与 任务管理器里的PID不同。
解决方法:
通过代码打开记事本程序 notepad.exe 正常
问题原因:
在网上找了一些,没找到原因。如果有知道原因的,请留言。 谢谢~~