你如何读取Windows中打开的应用程序的值?

我想创建一个程序或使用一个程序来读取另一个应用程序中的内存值。 有谁知道会做这个的应用程序/库吗?

目标应用是这个。 我想从中读取汇率值。

我是一名经验丰富的c#程序员,但从未与Win32 / user32 api合作过,我假设我必须处理这个问题才能解决这个问题。

任何帮助,让我朝着正确的方向是非常感谢。

更新:我设法使用Spy ++来获取窗口句柄,所以我确信我可以得到一些值。


通常,应用程序在对话框中以一致的庄园,相同的ID,相同的顺序等创建控件,因此以编程方式查找控件相当简单。 使用Spy ++查找控件的ID,然后可以搜索由应用程序创建的窗口以获得所需的控件。 不熟悉应用程序的问题我不能提供具体信息,但是如果Spy ++显示您想要的值,在代码中获取值可能并不困难。

显示的值是什么类型的控件? 一旦拥有父窗口句柄和控件ID,您可能可以使用GetDlgItemText获取该值? 要获得父窗口,请尝试使用EnumWindows。


通过自动执行屏幕截图然后进行ocr处理,可能会更容易地刮掉数据。 如果那是你的目标。

潜在的相关链接:

  • 得到-A-截图 - 的 - 一个特定的应用程序
  • OCR-与最正方体接口

  • 你看过AutoIT或AutoHotKey吗? 这两个开源选项都具有良好的文档记录能力,可以从应用程序窗口中读取文本(并向其发送击键或鼠标点击)。

    AutoIT非常易于使用并且有很好的文档记录。 从窗口读取文本的例子是:

    $text = WinGetText("title of window", "")
    MsgBox(0, "Text read was:", $text)
    

    这可以编译成可执行文件。

    链接地址: http://www.djcxy.com/p/42897.html

    上一篇: How can you read values from an open application in Windows?

    下一篇: How do I dump a variable in JSP?