繁体   English   中英

在C#中从第三方应用程序获取文本框值

[英]Getting textbox value from a 3rd party app in C#

我正在尝试开发可在后台运行的C#应用​​程序,该应用程序需要检测何时打开,填写了一个随机的第三方应用程序并单击了一个按钮。

我知道我可以通过流程获取第三方应用程序的一些信息,但是是否可以遍历所有控件并获取其值?

我已经读过一些有关“匿名管道”的内容,但不知道在这种情况下是否可以实现这些功能,以及如何实现。

我的最终目标是在同一应用程序中单击“打印”按钮时获得该应用程序中一个特定文本框的值。 第三方应用不是我开发的,因此我只将其作为.exe拥有,但我可以看到它具有文本框,标签和按钮。

您需要的是进程间通信有多种方法可以解决您的问题:

1.使用通用数据存储

单击打印按钮后,您可以在数据库/文件中设置一些标志和文本框文本。 另一个应用程序可以轮询以检查是否设置了此标志。

设置完后,其他应用程序可以从数据库/文件中读取该内容。

2.您可以从另一个应用程序托管一个Net Pipe Binding WCF终结点。

如果我必须将数据从一个进程发送到同一台计算机上的另一个进程,我会更喜欢此选项。
您的主要应用程序将具有wcf服务的代理。 Wcf服务将成为其他需要了解文本框文本的应用程序的一部分。

单击“打印”按钮后,您的主应用程序会将文本框文本发送到此WCF服务。

因为这是使用命名管道绑定,所以该服务仅可从该计算机上使用。

请参阅此博客中的示例。

也可以有其他方法(例如,托管仅允许从本地主机访问的Web API)。 方法的选择取决于程序的高级设计。

希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM