如何读取其他程序界面上的数据?包括显示的数据和hint的内容(100分)

  • 主题发起人 主题发起人 kiths
  • 开始时间 开始时间
K

kiths

Unregistered / Unconfirmed
GUEST, unregistred user!
有以下几种可行的办法:
1、采用hook,跟踪TextOut函数,这种方式基本上可以拿到数据,无法得到Hint的内容。
2、读取界面控件,通过SendMessage,同样存在上述问题。
3、读取内存,我比较笨,根本找不到这个数据。
请哪位高手可以提供个好的方案。
 
可怜的技术论坛,变成广告园了
 
如果是XP平台,可以试试 AccessibleObjectFromPoint 这个函数
 
procedure TMainForm.Button3Click(Sender: TObject);
begin
handle := FindWindow('IMWindowClass', nil);
handle := FindWindowEx(handle, 0, 'DirectUIHWND', nil);
// accesar al contenedor y enumerar sus hijos
AccessibleObjectFromWindow(handle, 0, IID_IAccessible, accParent);
if accParent <> nil then
enumerarControles(accParent);
end;
 

Similar threads

回复
0
查看
911
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部