百思不得其解,我要崩溃了!!!!!!!SOS!!!!!(200分)

  • 主题发起人 主题发起人 l0f
  • 开始时间 开始时间
L

l0f

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个程序(不知道它是用什么工具或是语言写出来的),它的界面上,好像有个不知道<br>是Label控件或是Edit控件(只读的),来显示的是一串数字(Integer型),<br>这个数字呢在不断的增长,但不是匀速的,速度是变化的(但增幅是恒定的为1)。<br>我想写一个程序,怎样在自己的程序中用个Edit控件,来显示那个程序的数字。<br>但要做到同步更新!!怎么办?<br>getwindowtext 抓不到LABEL的文字,也抓不到动态改变的EDIT中的文字,每次只抓到EDIT中的初始值,用UPDATEWINDOW也不起作用!!!!!<br>我现在找不到别的好方法了!!!<br>我的做法<br>procedure TForm1.Edit1MouseUp(Sender: TObject; Button: TMouseButton;<br>&nbsp; Shift: TShiftState; X, Y: Integer);<br>begin<br>h:=windowfrompoint(mouse.CursorPos);//得到HWND<br>showmessage(inttostr(h));<br>timer1.Enabled:=true;<br>end;<br><br>procedure TForm1.Timer1Timer(Sender: TObject);<br>var p:array [0..255] of char;<br>begin<br>updatewindow(h);<br>getwindowtext(h,p,255);//取文字<br>edit1.Text:=strpas(p);<br>end;<br><br>
 
能不能监视内存,找到变化的内存地址?
 
一般来说你是抓不到一个TLabel的handle的
 
Delphi的TLabel控件没有窗口句柄,即没有Handle属性。
 
用Timer控件,速度可自己控制
 
用GetOleObject这些东东试试,昨天的ALM上有人发表过用这个函数的,你查查吧,这个<br>可以取得不同的属性
 
从现象来看,您不能获得那个字符,因为它是TGraphicControl的类型。<br>可以用GetDC,BitBlt获得那里的图形,然后分析图形代表的数字即可。
 
首先你要搞清这是个什么控件,是不是有handle可以抓,这可以用spy++或winsignt来查看
 
用屏幕取词的技术啊
 
后退
顶部