Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用createProcess()启动dx应用程序_C++_Process_Directx - Fatal编程技术网

C++ 如何使用createProcess()启动dx应用程序

C++ 如何使用createProcess()启动dx应用程序,c++,process,directx,C++,Process,Directx,使用此代码段: STARTUPINFO si = { sizeof(si) }; PROCESS_INFORMATION pi; char szExe[] = "C:\\Apps\\Desktop\\Release\\simplesample.exe"; //char szExe[] = "C:\\Windows\\System32\\notepad.exe"; if(CreateProcess(0, szExe, 0, 0, 0, 0, 0

使用此代码段:

STARTUPINFO          si = { sizeof(si) };
PROCESS_INFORMATION  pi;
char                 szExe[] = "C:\\Apps\\Desktop\\Release\\simplesample.exe";
//char szExe[] = "C:\\Windows\\System32\\notepad.exe";

if(CreateProcess(0, szExe, 0, 0, 0, 0, 0, 0, &si, &pi))
{
    // optionally wait for process to finish
    WaitForSingleObject(pi.hThread, 0);  

    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
}
return 0;
当我使用notepad.exe时,notepad会启动

但是,当我使用simplesample.exe的路径时,它会启动simplesample并立即崩溃。我无法理解为什么simplesample不能从createProcess正确启动

我可以按原样从命令提示符启动simplesample.exe


PS:
Simplesample
是一个dx示例应用程序,使用winmain

Ty传递目录,其中
Simplesample.exe
是的
lpCurrentDirectory
参数。很可能,此程序在当前文件夹中搜索资产、着色器或DLL,但收到调用进程的目录,因此无法找到它们

发件人:

lpCurrentDirectory[in,可选]

进程当前目录的完整路径。该字符串还可以指定UNC路径

如果此参数为NULL,则新进程将具有与调用进程相同的当前驱动器和目录。(此功能是 主要用于需要启动应用程序和 指定其初始驱动器和工作目录。)