ホームページ > バックエンド開発 > C++ > C で ::CreateProcess を使用して外部実行可能ファイルを起動および制御する方法

C で ::CreateProcess を使用して外部実行可能ファイルを起動および制御する方法

Mary-Kate Olsen
リリース: 2024-11-03 08:17:03
オリジナル
938 人が閲覧しました

How to Launch and Control External Executables with ::CreateProcess in C  ?

C の ::CreateProcess を使用した Windows 実行可能ファイルの起動

C で Windows を操作する場合、効果的に起動および制御する方法を理解する必要があります。外部実行可能ファイル。この目的にとって重要な関数の 1 つは、::CreateProcess です。

例: 実行可能ファイルの起動と対話

主要な要件をカバーする例を見てみましょう:

  • EXE ファイルの起動
  • その実行の監視
  • 完了後にハンドルを適切に閉じる

次のコード スニペットを考えてみましょう:

<code class="c++">STARTUPINFO info = { sizeof(info) };
PROCESS_INFORMATION processInfo;
if (CreateProcess(path, cmd, NULL, NULL, TRUE, 0, NULL, NULL, &info, &processInfo))
{
    WaitForSingleObject(processInfo.hProcess, INFINITE);
    CloseHandle(processInfo.hProcess);
    CloseHandle(processInfo.hThread);
}</code>
ログイン後にコピー

このコードは、次の方法を示します。

  1. cmd のパスと潜在的なコマンド ライン引数によって定義された実行可能ファイルを起動します。
  2. processInfo を使用して、作成されたプロセスとそのメイン スレッドに関する情報を取得します。 .
  3. WaitForSingleObject を使用してプロセスが完了するまで無期限に待ちます。
  4. CloseHandle を使用してプロセスとスレッドのハンドルを閉じて、適切なクリーンアップを確保します。

このアプローチに従うと、 C アプリケーションでサブプロセスを効果的に作成および管理できます。

以上がC で ::CreateProcess を使用して外部実行可能ファイルを起動および制御する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート