2016-05-12 75 views
-1

我正在製作自定義用戶界面,因此我正嘗試使用CreateProcess從我的C++應用程序啓動遊戲。這是到目前爲止我的代碼使用CreateProcess運行遊戲可執行文件

PROCESS_INFORMATION Processinfo; 
STARTUPINFO StartupInfo; 
ZeroMemory(&StartupInfo, sizeof(StartupInfo)); 
StartupInfo.cb = sizeof(StartupInfo); 
ZeroMemory(&Processinfo, sizeof(Processinfo)); 
if (CreateProcess(TEXT("C:\\Program Files(x86)\\Steam\\steamapps\\common\\Surgeon Simulator VR Meet The Medic\\Win32\\SurgeonVR.exe"), 
    GetCommandLineA(), 
    NULL, 
    NULL, 
    false, 
    CREATE_SUSPENDED, 
    NULL, 
    NULL, 
    &StartupInfo, 
    &Processinfo)) 
{ 
    system("pause"); 
} 

我不是很確定我要去哪裏錯了,因爲我以前從未使用過的CreateProcess,而是通過一噸的例子看後,我試圖模仿別人都在做,以沒有成功。這個過程並沒有被創建,遊戲也沒有被啓動。任何幫助是極大的讚賞!

+0

這是什麼問題? – arrowd

+0

該進程未被創建,並且遊戲未啓動。對不起,應該在帖子中提到! –

+0

當然,它不會運行 - 它通過傳遞'CREATE_SUSPENDED'標誌來創建暫停。 –

回答

0

通過使用char * path =「C:\ Program Files(x86)\ Steam \ steamapps \ common \」修復了這個問題:外科醫生模擬器VR符合Medic \ Win32 \ SurgeonVR.exe「;然後使用路徑作爲參數。我認爲這個問題在路徑變量中是錯誤的,並且使用CREATE_SUSPENDED作爲參數。