[英]Send event to single process
我当前正在使用EventWaitHandle
触发本机进程的干净关闭,该本机进程没有Windows Forms应用程序中的窗口。 当我同时运行多个这些进程时,设置事件将停止所有这些进程。 有什么方法可以将事件发送到单个选定的进程? 我为它们每个保留一个Process
变量。
EventWaitHandle Event = new EventWaitHandle(false, EventResetMode.ManualReset, "EventName");
Event.Set();
听起来更像是您希望每个进程都有一个命名事件句柄。
您可以使用Process.Id
获取每个进程的唯一ID,并使用它为每个进程生成唯一的字符串。
由于进程ID是全局的,因此可以安全地假定两个进程都可以正确使用该ID。
然后,您可以将此数字附加到诸如“ MyProcessEvent”之类的字符串上以给出“ MyProcessEvent6345615”。 然后使用该字符串在两个进程中打开命名的EventWaitHandle
。
然后,您的控制器进程可以使用该名称发信号通知它启动的任何进程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.