怎样获得其他应用程序内窗口中编辑框的内容!(50分)

  • 主题发起人 主题发起人 sh8
  • 开始时间 开始时间
知道句炳就用SENDMESSAGE命令即可。
 
要得到其他程序的Edit中内容,
用GetWindowText不行。
SendMessage+WM_GETTEXT可以。
//获得IE地址栏中的内容

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)='Edit' then
begin
SendMessage(hwnd,WM_GETTEXT,256,lparam);
Result:=False;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
hwnd: Integer;
buffer: array[0..255] of char;
begin
hwnd := FindWindow('CabinetWClass',nil);
if hwnd<>0 then
begin
EnumChildWindows(hwnd,@EnumChildWindowsProc,Integer(@buffer[0]));
Caption := StrPas(buffer);
end;
end;

 
接受答案了.
 
后退
顶部