- 締切済み
ウィンドウハンドルの取得方法
ダイアログの表示されないEXEを起動させて、FindWindowを使用してそのEXEのウィンドウハンドルを取得したいのですが上手くいきません・・。 FindWindowの第一引数は「ウィンドウのクラス名」を指定するようなのですが、「ウィンドウのクラス名」の意味が良くわかりません。第二引数は「ウィンドウ名」を指定するようなのですが、今回のようなアンダーグラウンドで動くEXEには「ウィンドウ名」は無いと思ってよいのでしょうか? ちなみにダイアログのあるEXEならウィンドウハンドルを取得できます。 お分かりの方がいらっしゃれば、ご教授願います。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.1
開発環境は何をお使いですか? VisualStudio等のMS製でしたらSpy++というツールが一緒にインストールされているはずです。 これを使えば起動中のすべてのウィンドウを取得できるので、クラス名やウィンドウ名を調べることが出来ます。 >第二引数は「ウィンドウ名」を指定するようなのですが、今回のようなアンダーグラウンドで動くEXEには「ウィンドウ名」は無いと思ってよいのでしょうか? 非表示でも、ウィンドウ名を設定してあるものはあります。してもかまいません。 で、問題なのは、ダイアログってとこですね。普通のダイアログは、どのアプリが作ってもクラス名は一緒です(#32770)。このため、クラス名でダイアログを検索するのはお勧めしません。
お礼
回答、どうもありがとうございます。 掲示板に書き込み後、いろいろ調べたら出来ました。 taka_tetsuさんの意見、今後の参考にさせてもらいます。