如何发送“输入”按到WPF中的另一个应用程序

本文关键字:另一个 应用程序 WPF 按到 何发送 输入 | 更新日期: 2023-09-27 18:06:52

我创建了一个WPF应用程序,它监视一台机器上运行的某些进程。如果其中一个进程出错或退出,它需要自动重新启动该进程。我的代码通过评估进程是否仍在通过my_process.HasExited运行来工作。

我遇到的唯一问题是我正在监控的一个进程是由第三方应用程序运行的,当这个应用程序的进程有问题时,它们在退出之前显示错误消息。此错误消息要求按Enter键退出并允许进程完全结束。

因此,我正在寻找一种方法,每5秒发送一个回车键按到应用程序,当它检查进程是否仍在运行。这样做将清除错误消息,并允许进程退出,以便重新启动。我试过使用SendKeys,但意识到这个类在WPF中不可用。

是否有一种简单的方法可以从我的WPF应用程序发送按Enter键的模拟到另一个应用程序?

如何发送“输入”按到WPF中的另一个应用程序

不容易,但可以通过一些Windows API完成。

c#中的Send Message

使用PostMessage/SendMessage向c# IE浏览器发送密钥

这个想法是,你得到一个窗口的句柄,你调用SendMessage发送键向下和键向上。

SendMessage(Handle, WM_KEYDOWN, VK_ENTER, 0);
SendMessage(Handle, WM_KEYUP, VK_ENTER, 0);
相关文章: