function EnumChildWndProc(hWnd:LongInt; lParam:lParam): Boolean;stdcall; var ClassName: array[0..254] of Char; Caption: array[0..254] of Char; begin GetClassName(hWnd, ClassName,254); GetWindowText(Hwnd, Caption,254); Result:=true; end; procedure TForm1.Button1Click(Sender: TObject); var H: Hwnd; begin H := FindWindow(nil, '窗口名'); if H <> 0 then EnumChildWindows(H, @EnumChildWndProc, 0);end;
function EnumChildWndProc(hWnd:LongInt; lParam:lParam): Boolean;stdcall;
var
ClassName: array[0..254] of Char;
Caption: array[0..254] of Char;
begin
GetClassName(hWnd, ClassName,254);
GetWindowText(Hwnd, Caption,254); Result:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
H: Hwnd;
begin
H := FindWindow(nil, '窗口名');
if H <> 0 then
EnumChildWindows(H, @EnumChildWndProc, 0);end;
这个通过句柄找到控件的方法,我也正在想用。楼主可以试下FindControl(HWND),这是通过句柄找到控件的方法,但是只能是在同一个线程中使用。