我試圖簡單地啓動一個應用程序使用下面的函數,但它dosent似乎正常工作。它不會從桌面啓動我的測試應用程序,但是當我將它移動到「下載」中的子文件夾時,它工作正常。我拉從配置文件的目錄信息,並考慮到我可以從一個單獨的文件夾啓動測試應用程序,我懷疑它與我的目錄信息有任何關係。CreateProcess()沒有正確啓動進程
bool StartTest(){
char WOW_PATH[MAX_PATH];
char WOW_PATH_FULL[MAX_PATH];
STARTUPINFO SUI;
PROCESS_INFORMATION PROCINFO;
SUI.cb = sizeof(STARTUPINFO);
SUI.lpReserved = 0;
SUI.lpTitle = 0;
SUI.dwFlags = STARTF_RUNFULLSCREEN;
SUI.wShowWindow = SW_SHOW;
SUI.cbReserved2 = 0;
SUI.lpReserved2 = 0;
ZeroMemory(&PROCINFO,sizeof(PROCINFO));
ifstream File;
File.open("config.txt");
File.getline(WOW_PATH,MAX_PATH);
File.close();
strcpy(WOW_PATH_FULL,WOW_PATH);
strcpy(WOW_PATH_FULL,"\Test.exe");
if(!CreateProcess(WOW_PATH_FULL,0,0,0,false,0,0,WOW_PATH,&SUI,&PROCINFO))
return 0;
CloseHandle(PROCINFO.hProcess);
CloseHandle(PROCINFO.hThread);
return 1;
}
也許你能告訴我們的日誌什麼WOW_PATH_FULL'的'的精確值是兩個工作和失敗的例子。另外,GetLastError()會說什麼? – 2013-04-26 02:15:16
否'GetLastError'信息?在詢問之前試着找出什麼是錯的。 – 2013-04-26 02:23:55