C#メインウィンドウのハンドルから GUI があるか判断する

スポンサーリンク

メイン ウィンドウのハンドルを取得するには、System.Diagnostics.Process クラスのインスタンスから、MainWindowHandle プロパティを参照します。MainWindowHandle プロパティは通常、GUI (グラフィカル ユーザー インターフェイス) がない場合は IntPtr.Zero の値が格納されています。これを利用すると、GUI のあるプロセスかどうかを判断することができます。

サンプルコード

以下にサンプルコードを示します。

C# 全般
    // プロセス名を格納するための変数を宣言する
    string stPrompt = string.Empty;

    // 現在実行中のプロセスを列挙する
    foreach (System.Diagnostics.Process hProcess in System.Diagnostics.Process.GetProcesses()) {
        // メイン ウィンドウのハンドルがあれば、GUI があると判断しプロセス名を取得する
        if (! hProcess.MainWindowHandle.Equals(IntPtr.Zero)) {
            stPrompt += hProcess.ProcessName + System.Environment.NewLine;
        }
    }

    // GUI があると判断したプロセス名をすべて表示する
    MessageBox.Show(stPrompt);

関連するリファレンス

準備中です。

スポンサーリンク