CreateProcess() を使用して C から .exe ファイルを開く
別の C .exe から .exe ファイルを起動する場合、 system() 関数は、セキュリティ、効率、ウイルス対策の互換性に関して潜在的な欠点があるため、通常は推奨されません。
代わりに、ターゲットを実行する新しいプロセスを生成できる CreateProcess() 関数の利用を検討してください。 .exe ファイルを独立して作成します。その使用法を示す例を次に示します。
<code class="c++">#include <windows.h> VOID startup(LPCTSTR lpApplicationName) { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory(&si, sizeof(si)); si.cb = sizeof(si); ZeroMemory(&pi, sizeof(pi)); CreateProcess(lpApplicationName, argv[1], NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); CloseHandle(pi.hProcess); CloseHandle(pi.hThread); }</code>
この関数の lpApplicationName 引数として .exe ファイルへの絶対パスを渡します。
前のコードのトラブルシューティング
system() を使用した元のコードで発生したエラーは、OpenFile.exe へのパスがないことが原因である可能性があります。指定した .exe ファイルが system() または CreateProcess() に指定したパスに存在することを確認してください。
以上がCreateProcess() を使用して別の C .exe から .exe ファイルを起動するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。