从第三方Windows应用程序访问可复制/可存档文本

时间:2014-05-20 20:49:35

标签: c# winforms winapi

我是C#和Windows开发的新手。

在Windows中运行的特定的闭源第三方应用程序会定期生成文本。我想以编程方式访问此文本。生成的文本是可复制/可粘贴的,即我可以突出显示它,Ctrl-C并将其粘贴到记事本中。我考虑用OCR解决这个问题,但看起来有点矫枉过正 - 在C#中有更简单的方法吗?

2 个答案:

答案 0 :(得分:0)

如果你只是想自动化一个简单的工作,那么只需将鼠标点击鼠标定位鼠标(System.Windows.Forms.MouseButtons.Left,1,1,1,1))和SendKeys.Send之类的关键事件,就可以轻松实现它。 (" ^ c")和SendKeys.Send(" ^ v");)

应该诀窍但不优雅!

答案 1 :(得分:0)

与RoDoTiQ说的一样,您只需发送SendKeys函数即可将数据从应用程序复制到剪贴板。问题在于,如果您想自动执行此操作,则需要应用程序首先关注该窗口。

如果您正在考虑这样做,也可以更轻松地发送Ctrl + a组合来选择所有文本并解析出您不想要的数据。 或者,您可以查看此Stackoverflow文章,其中概述了您要执行的操作:

Capturing data from a window in a closed-source third-party Win32 application

我自己没有尝试过,所以我不能保证它会起作用。祝你好运!