VB.NETメインウィンドウのハンドルから GUI があるか判断する

スポンサーリンク

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

サンプルコード

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

VB.NET 全般
    ' プロセス名を格納するための変数を宣言する
    Dim stPrompt As String = String.Empty;

    ' 現在実行中のプロセスを列挙する
    For Each hProcess As System.Diagnostics.Process In System.Diagnostics.Process.GetProcesses()
        ' メイン ウィンドウのハンドルがあれば、GUI があると判断しプロセス名を取得する
        If hProcess.MainWindowHandle.Equals(IntPtr.Zero) = False Then
            stPrompt &= hProcess.ProcessName & System.Environment.NewLine
        End If
    Next hProcess

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

関連するリファレンス

準備中です。

スポンサーリンク