• 締切済み

ウィンドウハンドルの取得方法

ダイアログの表示されないEXEを起動させて、FindWindowを使用してそのEXEのウィンドウハンドルを取得したいのですが上手くいきません・・。 FindWindowの第一引数は「ウィンドウのクラス名」を指定するようなのですが、「ウィンドウのクラス名」の意味が良くわかりません。第二引数は「ウィンドウ名」を指定するようなのですが、今回のようなアンダーグラウンドで動くEXEには「ウィンドウ名」は無いと思ってよいのでしょうか? ちなみにダイアログのあるEXEならウィンドウハンドルを取得できます。 お分かりの方がいらっしゃれば、ご教授願います。

みんなの回答

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

開発環境は何をお使いですか? VisualStudio等のMS製でしたらSpy++というツールが一緒にインストールされているはずです。 これを使えば起動中のすべてのウィンドウを取得できるので、クラス名やウィンドウ名を調べることが出来ます。 >第二引数は「ウィンドウ名」を指定するようなのですが、今回のようなアンダーグラウンドで動くEXEには「ウィンドウ名」は無いと思ってよいのでしょうか? 非表示でも、ウィンドウ名を設定してあるものはあります。してもかまいません。 で、問題なのは、ダイアログってとこですね。普通のダイアログは、どのアプリが作ってもクラス名は一緒です(#32770)。このため、クラス名でダイアログを検索するのはお勧めしません。

harunaruna
質問者

お礼

回答、どうもありがとうございます。 掲示板に書き込み後、いろいろ調べたら出来ました。 taka_tetsuさんの意見、今後の参考にさせてもらいます。

関連するQ&A