我是C#和Windows开发的新手。
在Windows中运行的特定的闭源第三方应用程序会定期生成文本。我想以编程方式访问此文本。生成的文本是可复制/可粘贴的,即我可以突出显示它,Ctrl-C并将其粘贴到记事本中。我考虑用OCR解决这个问题,但看起来有点矫枉过正 - 在C#中有更简单的方法吗?
答案 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
我自己没有尝试过,所以我不能保证它会起作用。祝你好运!