我目前正在使用EventWaitHandle
触发完全关闭没有来自 Windows 窗体应用程序的窗口的本机进程。当我同时运行多个这些进程时,设置事件将停止所有这些进程。有没有办法将事件发送到单个选定的进程?我为他们每个人保留一个Process
变量。
EventWaitHandle Event = new EventWaitHandle(false, EventResetMode.ManualReset, "EventName");
Event.Set();
我目前正在使用EventWaitHandle
触发完全关闭没有来自 Windows 窗体应用程序的窗口的本机进程。当我同时运行多个这些进程时,设置事件将停止所有这些进程。有没有办法将事件发送到单个选定的进程?我为他们每个人保留一个Process
变量。
EventWaitHandle Event = new EventWaitHandle(false, EventResetMode.ManualReset, "EventName");
Event.Set();
听起来更像是您希望每个进程都有一个命名事件句柄。
您可以使用Process.Id
来获取每个进程的唯一 ID,并使用它为每个进程生成唯一字符串。
因为进程 ID 是全局的,所以可以安全地假设两个进程都可以正确使用该 ID。
然后,您可以将此数字附加到诸如“MyProcessEvent”之类的字符串上,例如“MyProcessEvent6345615”。EventWaitHandle
然后使用该字符串在两个进程中打开命名。
然后,您的控制器进程可以向它使用该名称启动的任何进程发出信号。