タイトル : Re^3: 解決しました。 投稿日 : 2010/01/08(Fri) 22:45 投稿者 : 花ちゃん
> 本プログラムは複数同時に立ち上げることができるのですが、FindWindowExですと前面 > の方しか検索できないと思います。 > 使い方が悪いのでしょうか? 何か勘違いしていませんか? オーナーウィンドウであるForm1 のハンドルは取れたのですよね。 だったら、そのハンドルを指定して子ウィンドウであるForm2 のクラス名を検索する 事でFindWindowExで取得できるはずですが。 > Form1の子ウインドウでクラス名が「ThunderRT6FormDC」のもの(1つしか取れないと Form1 と Form2 とは同じクラス名だったりしませんか? > 考えていたので最初に取れたものとしました)をForm2と特定できると考えています。 A@の中でスレッドIDが一致するウインドウの子ウインドウをEnumChildWindowsで列挙。 Bその中で最初に取れたフォームオブジェクトをForm2と特定。 クラス名を照合されているのならいいのですが、それなら、EnumChildWindowsで列挙する までもないのではないでしょうか? FindWindowEx だけで取得できますが。 |