我正在尝试使用以下命令创建一个子进程:
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
CreateProcess( NULL, // No module name (use command line)
NULL, // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi );
它在这里崩溃了,我不知道为什么。
现在我的原始过程需要命令行参数,所以我也必须在这里传递它们吗?如果是这样,那么由于我没有从 int main() 创建子进程,所以我可以执行以下操作:
LPTSTR szCmdline = TEXT("nmctest -s TS -r DMR -tlLDMR");
然后在 CreateProcess() 中传递 szCmdline?
有人可以帮我为什么这会崩溃吗?