如何取得指定坐标处的文本?(300分)

  • 主题发起人 主题发起人 hying95
  • 开始时间 开始时间
H

hying95

Unregistered / Unconfirmed
GUEST, unregistred user!
应用程序的状态栏信息.(坐标:X=90,Y=700)
用鼠标取词(源码网上找的),只要鼠标移动到坐标(X=90,Y=700)处能够取到文本.现在想只要鼠标在应用程序的客户区内任何地方,不论点左键还是右键都能得到该坐标处的文本.请问应该如何弄?
 
只是伪代码:
mpt:tpoint;
_myh:hwnd;
tid:thandle;
getcouserpos(mpt);
tid:=getwindowsthreadid(_myh);
attachwindowsthread(_myh,tid,true);
_myh:=windowsFromPoint(mpt);
attachwindowsthread(_myh,tid,false);
if _myh<>0 then
begin
getwindowstext(_myh,buf,80);
if buf=nil then
caption:=string(pchar(string(buf)));
end;
 
to wql
好象不行
procedure TForm1.Button1Click(Sender: TObject);
var
mpt:tpoint;
_myh:hwnd;
tid:thandle;
buf: pchar;
begin
mpt.X:=90;
mpt.Y:=700;
_myh:=findwindow(nil,pchar(GetFormCaption('DG/ML')));
tid:=GetWindowThreadProcessId(_myh);
attachwindowthread(_myh,tid,true);//这行编译通不过
if _myh<>0 then
begin
getwindowtext(_myh,buf,80);
if buf=nil then
Label1.caption:=string(pchar(string(buf)));
end;
end;
 
沙发,,,顶一个
 
这个就象屏幕取词的做法一样把 看下他的原理 应该就可以 只要是文字 不是图片就可以
 
已经搞定了
 
用屏幕取词,改了一下
 
后退
顶部