如何取得外部程序窗口的其中一个文本编辑框中的字符串(50分)

  • 主题发起人 主题发起人 jinhx
  • 开始时间 开始时间
J

jinhx

Unregistered / Unconfirmed
GUEST, unregistred user!
我想得某个外部程序窗口中的一个文本编辑框中的字符串,这个程序不知道是用什么语言写的,我只能以这个编辑框左边的(窗口布局中该编辑框的左边)作为参考以确定该编辑框是不是我想要的编辑框
 
想办法获取这个文本框的句柄就可以了,然后用GetWindowText就可以获得文本了,关于怎么获得指定位置的控件的句柄可以去参考SPY就知道怎么做了
 
代码:
var
  FPos: TPoint;
  FHandle: THandle;
  FTextLen: Integer;
  FCaption: String;
  sRect: TRect;
begin
  //获得当前鼠标坐标
  GetCursorPos(FPos);
  FHandle := WindowFromPoint(FPos);
  //获得窗口坐标
  GetWindowRect(FHandle,sRect);
  //获得文本
  FTextLen := SendMessage(FHandle, WM_GETTEXTLENGTH, 0, 0);
  SetLength(FCaption,FTextLen + 1);  
  GetWindowText(FHandle,PChar(FCaption),FTextLen + 1);
  Memo1.Text := Copy(FCaption,1,FTextLen);
end;
 
接受答案了.
 
后退
顶部