2016-05-12 40 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作为参数。