【发布时间】:2019-01-22 14:09:20
【问题描述】:
我正在尝试开发一个后台工作的 C# 应用程序,它需要检测何时打开、填写并单击了一个按钮。
我知道我可以作为一个进程获取 3rd 方应用程序的一些信息,但是是否可以遍历它的所有控件并获取它们的值?
我读过一些关于“匿名管道”的文章,但不知道这些是否可以在这样的案例中实现,以及如何实现。
我的最终目标是在同一应用中单击“打印”按钮时获取应用中特定文本框的值。第三方应用程序不是我开发的,所以我只有一个 .exe,但我可以看到它有文本框、标签和按钮。
【问题讨论】:
-
嗯——您想检测“随机”应用程序何时启动,然后捕获放入该应用程序初始对话框的信息?您现在不会尝试捕获用户名、电子邮件或密码——您会……吗?
-
使用UI Automation。所涉及过程的描述here。
-
@Jazimov 这也是我的担忧之一,如果这实际上是合法的。我需要一个不包含任何密码的文本框字段的值,而是一些字符串。问题是 2 个应用程序应该作为一个应用程序工作,但我没有源代码,他们不喜欢第 3 方的任何更改 - 所以我必须找到一种方法从我的 c# 应用程序中处理它。
-
@Jimi UI Automation 帮我做了,谢谢。您可以使用它通过不同的参数访问表单,并获得所需的一切 - 就像使用 Microsoft 的 Inspect 一样
标签: c# winforms textbox anonymous-pipes