2013-10-19 250 views
2

我有以下code`爲什麼Createprocess返回NULL?

STARTUPINFOA cif={sizeof(cif)}; 
PROCESS_INFORMATION pi; 
CreateProcessA("C:\Windows\notepad.exe", NULL, NULL, NULL, FALSE, NULL , NULL, NULL,  &cif, &pi); 
cout << pi.hProcess << endl; 

它輸出NULL,爲什麼?哪裏不對?如果我寫'

STARTUPINFO cif={sizeof(cif)}; 
PROCESS_INFORMATION pi; 
CreateProcess(L"C:\Windows\notepad.exe", NULL, NULL, NULL, FALSE, NULL , NULL, NULL, &cif, &pi); 
cout << pi.hProcess << endl; 

它也輸出NULL,我該怎麼辦?

回答

2

「C:\ Windows \ notepad.exe」包含換行符,因爲「\ n」是特殊的。在你的路徑中使用正斜槓,即使在Windows上也能正常工作。

+0

謝謝,我忘了它:( –

+0

正斜槓並不總是工作,這取決於上下文。最好是養成正確引用反斜槓的習慣。 –