プログラム A が別のプログラム B を開き、プログラム B が指定されたファイルを開くようにしたい状況があります。現在、CreateProcess を使用し、コマンド ライン引数にファイル パスを渡すことで、これを達成しようとしています。これが私のコードです:
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
CreateProcess("C:\\ProgramB.exe", "C:\\MyFile.txt", NULL, NULL,
FALSE, 0, NULL, NULL, &si, &pi);
ここで何が間違っていますか?プログラム B の DragAndDrop は true で、ウィンドウへのファイルのドラッグ アンド ドロップは正常に機能し (WM_DROPFILES メッセージを送信しても成功しませんでした)、プログラム B はファイルを開くダイアログで問題なくファイルを開くことができますが、このコマンドには問題があります。ファイルが見つからないと言っています。