var
whwnd,ehwnd:THandle;
buf:pchar;
bufsize:integer;
begin
whwnd:=findwindow(nil,'forma1');
if whwnd<>0 then
begin
ehwnd:=findwindowex(whwnd,0,'TEdit','edit1');
if ehwnd<>0 then
begin
bufsize:=sendmessage(ehwnd,wm_gettextlength,0,0);
getmem(buf,bufsize+1);
sendmessage(ehwnd,wm_gettext,bufsize+1,integer(buf));
edit2.Text:=buf;
freemem(buf);
end;
end;
end;
Handle := FindWindow(nil,'登录窗口'); //就是窗口的Caption
if Handle <> 0 then
EnumChildWindows(Handle,@GetEditHandle,Integer(@Handle));
FTextHandle := Handle;
SendMessage(FTextHandle,WM_SETTEXT,0,Integer(pchar(MAN_PASS)));
function GetEditHandle(hwnd: Integer; lparam: Longint):Boolean; stdcall;
var
buffer: array[0..255] of Char;
buffer1: array[0..255] of Char;
begin
Result := True;
//得到目标窗口的控件
GetClassName(hwnd,buffer,256);
//找到发消息的目标窗口的目标控件
if StrPas(Buffer)='Edit' then
begin
GetWindowText(hwnd,buffer1,100);
PInteger(lparam)^ := hwnd; //得到目标控件的Hwnd(句柄)
Result:=False; //终止循环
end;
end;//end of function