【问题标题】:How to read out text present on external application dialog box or window in C#如何在 C# 中读出外部应用程序对话框或窗口中存在的文本
【发布时间】:2013-02-19 01:48:11
【问题描述】:

我想要求我当前打开的文档应用程序的文件名(如 pdf、docx、xls 等),以便从我的访问数据库中自动检测密码。 但是当我点击我的外部应用程序时,“密码”窗口被打开,因为我的文件应用程序受密码保护,仍然没有打开文件应用程序,因为我还没有输入密码,我想提供这个密码作为数据库的自动检测。 对于这个项目,我有当前活动窗口的标题,即密码,但我想知道应用程序的哪个文件名。

带有扩展名的文件名出现在外部应用程序(pdf、docx、xls)的“输入密码”对话框或窗口中。 所以我的问题是,有什么方法可以读出外部应用程序(如 pdf、docx、xls 等)的“输入密码”对话框上的“文件名+扩展名”。

【问题讨论】:

标签: c#


【解决方案1】:

为此,您需要通过 PInvoke 访问 Windows API。

首先,你需要获取你感兴趣的窗口的句柄,查看this的一些示例代码。

然后就可以使用described here这个方法从标题栏获取文字了。

希望这足以让您入门。

【讨论】:

  • 其实你听不懂我的问题。
  • 啊@ShamBhand 抱歉,我误解了您的问题,我认为文件名在窗口标题中,我认为您可能很难从任意窗口中获取文本,而无需进一步了解第 3 方的实施对话框
  • 无论你告诉我什么,我都已经尝试过了,并获得了当前活动窗口的标题和句柄,或者说智利窗口作为对话框。但我的要求是我想读出出现在外部应用程序(pdf,docx)的对话框或窗口(如输入密码),因此我将获取带有扩展名的文件名。
  • so 有什么方法可以获取或读出此第 3 方对话框或说窗口中存在的文本信息??
猜你喜欢
  • 2019-03-27
  • 2012-01-22
  • 1970-01-01
  • 2011-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多