【发布时间】:2019-01-20 07:24:48
【问题描述】:
我正在尝试将组合键 ALT + F4 从 C#-script 中发送到托管软件。正如您从我的问题中所理解的那样,我没有成功。
我有一个应用程序运行我的脚本来进行小文件解析。 完成文件解析后,我希望我的脚本关闭应用程序。
根据我的发现,我可以看到进程 ID 并将其杀死。这会导致我的托管软件停止并重新启动。这不是这里的目标。结束应用程序的正确方法是使用组合键 ALT + F4。
但是我怎样才能将它从我的脚本传递到托管应用程序? 如果我将它发送到进程名称,我也许可以做到。但是可能有多个该应用程序的实例同时运行。
那么是否可以找到托管应用程序 ID 并将 ALT + F4 仅发送到该实例?
顺便说一句。我在 codeplex 找到了输入模拟器,但无法在工作中使用它...
感谢您的任何建议和帮助。
【问题讨论】:
-
究竟什么是“托管软件”以及您的 C# 代码是如何集成到其中的?
-
我的主机软件是 EPLAN,一个带有集成脚本引擎的 CAD 工具。我只需选择要运行的 C# 脚本即可。 :-)
-
正确的是发送 WM_SYSCOMNAND SC_CLOSE 到进程的主窗口,但首先你必须找到它。
-
这个其他托管软件有 API 吗?如果是这样,可能有一个更优雅的
Close(或类似)方法来调用应用程序实例。或者您可以在 C# 代码等中使用上下文管理器。 -
理想情况下,主机应该为脚本提供一个接口来终止。如果没有,在当前进程中将Message WM_CLOSE发送到主窗口怎么样?
标签: c# keyboard-shortcuts pid