這是我的代碼。我總是得到錯誤3,我能做什麼?我嘗試用CreateProcessA替換CreateProcces,替換前兩個參數,嘗試處理其他程序,但它仍然不起作用。謝謝。CreateProcess,winapi,錯誤代碼3
#include "windows.h"
#include <iostream>
void main() {
STARTUPINFOA cif;
ZeroMemory(&cif,sizeof(cif));
PROCESS_INFORMATION pi;
CreateProcessA("","C:\\Windows\\notepad.exe",NULL,NULL, NULL,NULL,NULL,NULL,&cif,&pi);
DWORD error=GetLastError();
std::cout << "error " << error << "\n";
while(1) {} // подождать
}
是的,你說得對。我已經糾正它,但它仍然返回錯誤代碼3. 首先,notepad.exe不執行,第二,getlasteeror返回代碼錯誤3,我做錯了什麼?
我把:
char* path="C:\\Windows\\notepad.exe";
CreateProcessA(path,"sfvfd",NULL,NULL,NULL,NULL,NULL,NULL,&cif,&pi);
,而不是(和它的工作!):
CreateProcessA("","C:\\Windows\\notepad.exe",NULL,NULL,
NULL,NULL,NULL,NULL,&cif,&pi);
有什麼區別?
你的測試有點奇怪。如果成功,'CreateProcess'返回一個非零值,所以你最好放鬆'== TRUE'。 – ChrisF 2013-05-12 11:38:00
你怎麼知道它失敗?你沒有測試返回值。 – paulm 2013-05-12 11:47:34
@paulm首先,notepad.exe沒有執行,第二,getlasteeror返回代碼錯誤3,我做錯了什麼? – Robert 2013-05-12 11:53:49