obtain all the components |
尚未結案
|
KFC
一般會員 發表:43 回覆:73 積分:23 註冊:2003-03-27 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
Hi, 可以利用 EnumChildWindows 來進行取得所有的 childwindow, 再配合 GetClassName 來取得其 classname, 以下為大約的寫法. 在 var 段加入 callback function:
function myEnumChildBack( h: HWND; v: integer ): Boolean; stdcall; 另外的程式如下:
function myEnumChildBack(h: HWND; v: integer): Boolean; stdcall; //callback function implementation var cname: array[0..255] of char; begin GetClassName(h, cname, 256); // 由 handle 取得其 classname Form1.memo1.Lines.Add(inttostr(h) + ' ' + cname ); result := true; end; procedure TForm1.Button1Click(Sender: TObject); var a: HWND; begin a := FindWindow(nil, 'my'); // 先找出你要找的 handle 或直接指定皆可 if a <> 0 then EnumChildWindows(a, @myEnumChildBack, 0); // 開始找出所有該 windows 下的 childwindow end; |
KFC
一般會員 發表:43 回覆:73 積分:23 註冊:2003-03-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |