我有2个节目。我想构建一个外部工具,当另一个程序已经运行时,它会阻止其中一个程序启动,反之亦然。 我无法触及两个程序中的任何一个的代码。
我希望最好使用C#,但脚本语言也可以。
任何人都可以帮我理解如何实现它吗?
提前致谢。
答案 0 :(得分:2)
将您的工具编写为在后台运行的Windows服务,如果启动则会终止第二个程序。它可以通过收听WMI事件来查看新流程何时开始,请参阅.NET Events for Process executable start
答案 1 :(得分:2)
有几种方法可以做到这一点。如果您使用的是C#,则应使用GetProcessesByName()获取进程名称。它看起来像这样 Process [] processes = Process.GetProcessesByName(processName); 如果您知道进程名称,则可以终止该进程 或者使用[信号量类](http://msdn.microsoft.com/en-us/library/system.threading.semaphore.aspx)。