次のコマンドで子プロセスを作成しようとしています。
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 を渡しますか?
これがクラッシュする理由を教えてください。