如何访问和阅读其他程序

时间:2016-10-09 06:07:52

标签: delphi

我猜它有一个程序用Visual Basic类。我没有源代码,我不改变它。 它有一个 MainForm ,并且有一个 Frame 进入MainFrom,并且有一个 Label 进入Frame。 Label的名称是 Label1 。这个程序用Label1显示一些数据。我想用我的程序读取Label1的标题。 我的程序是在delphi中。我可以使用他们的标题或类别来访问mainform和frame的句柄,作为休闲:

Hnd:= FindWindow('ThunderRT6FormDC',nil); //找到mainForm的句柄

Hnd2:= FindWindowEx(Hnd,0,'ThunderRT6Frame',nil); //在mainform中找到Frame的句柄

但我不知道如何访问或阅读Label1的标题。 请帮帮我......

1 个答案:

答案 0 :(得分:3)

以下是您可以尝试的事项:

  1. 使用Spy ++,WinSpy或类似工具查看控件是否已窗口化。如果是这样,您应该能够使用WM_GETTEXT提取文本。
  2. 否则,使用InspectUI查看程序是否可自动执行。如果是这样,请使用UIAutomation。
  3. 否则,将一些VB代码注入程序并破解标签文本。这需要对这个其他程序进行逆向工程,并且需要深入了解VB和程序使用的GUI框架。
  4. 作为最终选项,请截取屏幕并使用OCR阅读标签。
  5. 坦率地说,如果前两个选项被证明不可用,我会认为OCR实际上是最简单的。