他のアプリのウィンドウハンドルを取得し
そのウィンドウの最初のEditなりComboboxなりの
内容は取得できるのですが、複数ある場合はどういうコードを
書けばいいのでしょうか?
いろいろ試したのですがまったくもって解決しません。(;;)
複数取得の場合はEnumChildWindowsを使用します。
GetWindowを続けて呼び出すことでもできますが、破棄したウィンドウを拾ったり無限ループに陥ったりする場合があるので危険と書いてありました。
ありがとうございます。
ところでこんな感じでしょうか?
lbCWinListはリストボックスです。
EnumChildWindows(hWnd,@EnumCWinProc,Integer(lbCWinList.Items));
function EnumCWinProc(h:HWND;lparam:Integer):BOOL;stdcall;
var
list:TStrings;
buf:Array[0..255] of char;
classname:String;
begin
list := TStrings(lparam);
GetClassName(hWnd,buf,255);
classname := StrPas(buf);
list.AddObject(Format(' %10x : %-s',[Integer(hWnd),classname]),TObject(hWnd));
result := True;
end;
ん〜何かか間違っているような気がする・・・(^ ^);
また何かありましたら宜しくお願いいたします。
Borland Maniacs!さん
http://member.nifty.ne.jp/h_kova/
の新プログラミング会議室プログラミング入門 ☆ Delphi
にマルチポストですよね。
▽ 2002/1/30 (水) 23:41:41 ▽ PH
PH 2002/01/30(水) 23:41:26
コピー&ペーストで20秒しか違わないってことは、
「どっちかで答えが出ればいいや」ってことですよね?
かなり悪質だと思うんですけど。
BBS(パソ通)時代の悪いクセが・・・
あのころは知ってる人に出会うまでガシガシと質問してたもので。
以後 気をつけます。m(_ _)m
ツイート | ![]() |