所以我試圖創建一個使用字符串變量的過程。C++ createprocess - 字符串變量爲cmd線參數 - 什麼都沒有發生
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
ZeroMemory(&pi, sizeof(pi));
si.cb = sizeof(si);
std::string cmd_line = game_path + " " + std::string(game_params);
std::cout << cmd_line << "\n";
if (!CreateProcess(NULL, LPTSTR(cmd_line.c_str()), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) {
std::cout << "fail\n";
return false;
}
從COUT cmd_line的輸出是正確的路徑和參數:
C:\\Program Files (x86)\\My_Game\\Game.exe -test -admin
的CreateProcess的調用返回false,但我不知道確切原因。我對此很新,所以任何幫助和建議都會很棒。
[右從馬的嘴(https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(V = vs.85)的.aspx):「如果函數失敗,返回值爲零。要獲得擴展的錯誤信息,請調用GetLastError。「我建議先聽取建議並獲取一些擴展信息。可能是相關的。 – user4581301
謝謝你。我在這裏使用代碼:https://msdn.microsoft.com/en-us/library/windows/desktop/ms680582(v=vs.85).aspx 我得到錯誤代碼2-文件不存在。我直接從地址欄複製路徑等。除非我錯過了某些東西,否則肯定是正確的路徑 – user3238415