给你找了一个: procedure TForm1.Button1Click(Sender: TObject); function EnumChildWindowsProc(hwnd: Integer; lparam: Longint):Boolean; stdcall; var buffer: array[0..255] of Char; begin Result := True; GetClassName(hwnd,buffer,256); if StrPas(Buffer)='TEdit' then //找TEdit控件 begin PInteger(lparam)^ := hwnd; //得到目标控件的Hwnd(句柄) Result:=False; //终止循环 end; end; var Hand: Integer; begin Hand := FindWindow(nil,'Form2'); //Form2第二个程序的窗口名 if Hand<>0 then begin EnumChildWindows(Hand,@EnumChildWindowsProc,Integer(@Hand)); SendMessage(Hand,WM_SETTEXT,0,Integer(pchar('Your String'))); end; end;
procedure TForm1.Button1Click(Sender: TObject);
function EnumChildWindowsProc(hwnd: Integer; lparam: Longint):Boolean; stdcall;
var
buffer: array[0..255] of Char;
begin
Result := True;
GetClassName(hwnd,buffer,256);
if StrPas(Buffer)='TEdit' then //找TEdit控件
begin
PInteger(lparam)^ := hwnd; //得到目标控件的Hwnd(句柄)
Result:=False; //终止循环
end;
end;
var
Hand: Integer;
begin
Hand := FindWindow(nil,'Form2'); //Form2第二个程序的窗口名
if Hand<>0 then
begin
EnumChildWindows(Hand,@EnumChildWindowsProc,Integer(@Hand));
SendMessage(Hand,WM_SETTEXT,0,Integer(pchar('Your String')));
end;
end;