如何拷贝一个软件中的Label中的值(caption)?(100分)

  • 主题发起人 主题发起人 datangnet
  • 开始时间 开始时间
D

datangnet

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]有一个软件DELPHI编写的,点击上一条、下一条显示数据,但是他的数据是显示在Label中,我无法拷贝出来,但是如果我照着显示输入的话,大概有1000多条,需要很长的时间。<br>各位大侠,能否有好的办法,让我把显示在Label中的内容,拷贝出来。<br>否则,每个内容都很多字,我一个月也输入不完。<br>谢谢![:)]
 
新建一数据库再分别用语句<br>&nbsp; &nbsp; &nbsp;AdoQuery1.FieldByName('字段1).AsString := Label1.caption ;<br>&nbsp; &nbsp; &nbsp;AdoQuery1.FieldByName('字段2).AsString := Label2.caption ;<br>&nbsp; &nbsp; &nbsp;AdoQuery1.FieldByName('字段3).AsString := Label3.caption ;<br>&nbsp; &nbsp; ………………<br>或用:<br>&nbsp; &nbsp; Memo1.Items.Add(label1.coption);<br><br>
 
谢谢您的回答。<br>前提是,这个软件是一个可执行文件,扩展名为.exe<br><br>请问我没有这个软件的源代码,如何用<br>-------------------------------------<br>AdoQuery1.FieldByName('字段1).AsString := Label1.caption ;<br>&nbsp; &nbsp; AdoQuery1.FieldByName('字段2).AsString := Label2.caption ;<br>&nbsp; &nbsp; AdoQuery1.FieldByName('字段3).AsString := Label3.caption ;<br>&nbsp; &nbsp;………………<br>Memo1.Items.Add(label1.coption);<br>-------------------------------------<br>还有,我想用句柄(SPY的软件)把值抓来,但是为什么我能抓来EDIT的值,却抓不到LABEL的值?<br>
 
可能吗?不行吧<br>帮你顶
 
谢谢您帮我顶<br><br>我相信天下没有解决不了的事情,关键的问题是如何解决?
 
楼主的话很有道理,学习,帮你顶。
 
用SoftICE软件, 然后查到Label的字符值,即可。
 
麻烦ptfjy,说个SoftICE大概的思路<br>因为需要循环调用这个LABEL的值,大概有1000多条(通过上一条、下一条选择)。<br>如何能调用。<br>不用太详细以免浪费您的时间。<br>
 
您先找到它的数据库,然后为我所用。
 
谢谢您的方法<br>当然您的想法我也想过。<br>这个数据库不是正规的文件型数据库,是一个自定义出来的加密的数据库,而且只是部分的数据,有一部分在可执行文件.exe中,需要运行才能合并在一起。<br>而且我现在无法破译这个自定义数据库<br><br>看来还是需要拷贝出LABEL的值,或者通过别的方法得到动态的LABEL的值。<br>
 
损招:屏幕拷贝,ocr识别。
 
datangnet,<br>&nbsp; label是没有句柄的,<br>  不好办呀。<br>
 
损招:屏幕拷贝,ocr识别。<br>------------------------------------<br>这招我也想过,但是没有找到好的识别中文的OCR,OCR SDK动不动就几千元的费用。<br>个人承受不起,我还不如自己通过键盘输入内容便宜呢。<br>或者哪里有好的能识别中文的OCR SDK的下载也可以。可以试一试。<br>-------------------------------------<br>label是没有句柄的,<br>  不好办呀。<br>-------------------------------------<br>的确这个LABEL太麻烦了。<br><br>谢谢大家这么多的建议。如果有好的想法请继续帮忙。<br>
 
请先使用FindWinow找到拥有Label的窗口,然后通过GetWindow逐层过滤得到Label的Handle,然后通过GetWindowText就可以了,其实很简单的,对不起,这么一点分,我就能说这么多了!如果还要求更完美的解决代码,请给出500分,然后发信到我的邮箱RedLeaf_WGM@163.COM。
 
谢谢redleaf_wgm的回答,但是我现在全部的剩余积分才有125分可以都给你,我现在没有500分。<br>但是非常感谢你刚才的回答。<br>谢谢!
 
redleaf_wgm:您好!<br>&nbsp; &nbsp; 我按着你的方法找到了拥有Label的窗口,然后通过逐层过滤,只能<br>看到别的控件的Handle,但是却找不到Label的Handle(是不是因为label是没有句柄的),所以就无法通过GetWindowText得到想要的内容。<br><br>
 
网上看到的。<br>------------------------------------<br>TButton和TLabel的继承树显示:标签空间,都是由父控件画出来的,而不是由Windows操作系统管理的。<br>所以找不到他的句柄。<br>------------------------------------<br>不知有没有别的方法,可以得到Label的值。
 
label是没有句柄的,这就好比男人不能生孩子,你偏让他生孩子是一个道理
 
见过一个屏幕取词的demo,可以取得 label 的 caption,用 hook 实现的
 
后退
顶部