【问题标题】:Accessing Copyable/Pastable Text From 3rd Party Windows Application [duplicate]从第 3 方 Windows 应用程序访问可复制/可粘贴文本 [重复]
【发布时间】:2014-05-20 20:49:35
【问题描述】:

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

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

【问题讨论】:

  • 有更简单的方法,但(遗憾的是)没有一种方法是 100% 可靠的(即在焦点更改时不会失败等)请参阅 this question

标签: c# winforms winapi


【解决方案1】:

如果您只想自动化一个简单的工作,那么只需将鼠标点击 MouseEventArgs(System.Windows.Forms.MouseButtons.Left, 1, 1, 1, 1)) 和诸如 SendKeys.Send 之类的键事件组合起来,就可以轻松完成它("^c") 和 SendKeys.Send("^v") ;)

应该做的伎俩,但一点也不优雅!

【讨论】:

    【解决方案2】:

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

    如果您也在考虑这样做,只需发送Ctrl + a 组合以选择所有文本并解析出您不想要的数据可能会更容易。 或者,您可以查看这篇 Stackoverflow 文章,其中概述了您想要做什么:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-22
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 2015-03-25
      • 1970-01-01
      相关资源
      最近更新 更多