お世話になっております。 VBでアクティブウインドウを取得するプログラムを作成しております。 64Bit版Windows7では、「GetForegroundWindow」を使用するとアクティブウインドウのウインドウハンドルの取得が可能で、取得した値と「System.Diagnostics.Process.GetProcesses()」で取得したウインドウハンドルからプロセスID等が特定できました。 しかし、同じプログラムを32Bit版Windows7で動かすと、「GetForegroundWindow」で取得したアクティブウインドウのウインドウハンドルの値は「System.Diagnostics.Process.GetProcesses()」で取得したウインドウハンドルとは全く違う値が入っておりプロセスID等を特定できません。 以下が取得した値の例です。 64Bit版の場合 explorer:4048:4048 32Bit版の場合 explorer:65606:8596932932004807142 順に、プログラム名:「System.Diagnostics.Process.GetProcesses()」で取得したハンドル:「GetForegroundWindow」で取得したハンドル、です。 32Bit版でも64Bit版と同様にプロセスID等を特定したいと思います。 解決策をご存知の方が居られましたらご教授をお願いいたします。 お手数をお掛け致しますがよろしくお願いいたします。
↧