C# 防止程序在另一个程序运行时启动(Windows)

C# 防止程序在另一个程序运行时启动(Windows),c#,C#,我有两个程序。我想构建一个外部工具,当另一个程序已经运行时,它可以阻止其中一个程序启动,反之亦然。 这两个程序的代码我都摸不着 我想最好使用C语言,但是脚本语言也可以 有人能帮我理解如何实施这个概念吗 提前感谢。将您的工具编写为windows服务,该服务在后台持续运行,并在第二个程序启动时终止。它可以通过侦听WMI事件来确定新进程何时启动请参见将您的工具作为windows服务编写,该服务将在后台持续运行,并在第二个程序启动时终止该程序。它可以通过侦听WMI事件来确定新进程何时启动。请参见有几种方

我有两个程序。我想构建一个外部工具,当另一个程序已经运行时,它可以阻止其中一个程序启动,反之亦然。 这两个程序的代码我都摸不着

我想最好使用C语言,但是脚本语言也可以

有人能帮我理解如何实施这个概念吗


提前感谢。

将您的工具编写为windows服务,该服务在后台持续运行,并在第二个程序启动时终止。它可以通过侦听WMI事件来确定新进程何时启动请参见将您的工具作为windows服务编写,该服务将在后台持续运行,并在第二个程序启动时终止该程序。它可以通过侦听WMI事件来确定新进程何时启动。请参见有几种方法。如果您使用的是C#,那么应该使用getProcessByName()获取进程名。它看起来像这样 Process[]processs=Process.GetProcessesByName(processName); 如果知道进程名称,就可以终止进程
或者使用[Semaphore类](http://msdn.microsoft.com/en-us/library/system.threading.semaphore.aspx)有几种方法可以做到这一点。如果您使用的是C#,那么应该使用getProcessByName()获取进程名。它看起来像这样 Process[]processs=Process.GetProcessesByName(processName); 如果知道进程名称,就可以终止进程 或者使用[Semaphore类](http://msdn.microsoft.com/en-us/library/system.threading.semaphore.aspx)