hackjapan,我服了你了,这么笨的方法??
这个问题难吗?
第一步:找到Button所在窗口句柄:
var H : THandle;
H := FindWindow( nil, '程序Caption' );
第二步:找到Button句柄:
EnumChildWindows( H, @EnumerateChildWindows, 0 );
第三步:发送消息:
Sendmessage(H,WM_...,0,0);
程序参考:
//回调函数,列出所有子窗口句柄
var
; HEdt : THandle;
function EnumerateChildWindows(hWnd: HWND; lParam: LPARAM): BOOL;
var
; WindowCaption:array[0..254] of Char;
begin
; GetWindowText(Hwnd,WindowCaption,255);
; if WindowCaption = '是我要的' then
; ; HEdt := hWnd;
; Result:=TRUE;
end;
procedure TFindForm.Button2Click(Sender: TObject);
var
; H : HWnd;
; I : Integer;
begin
; H := FindWindow( nil, '程序Caption');
; if H = 0 then exit;
; EnumChildWindows( H, @EnumerateChildWindows, 0 );
; SendMessage( HEdt, WM_SETTEXT, 255, LongInt(PChar('afdasf');
; SendMessage( HBtn, BM_CLICK, 0, 0 );
end;