2011-10-23 9 views
0

私は2つのプログラムを持っています。私は、他のプログラムがすでに実行されているときに、プログラムの1つが起動しないようにする外部ツールを構築したいと思います。 2つのプログラムのどちらのコードにも触れられません。別のプログラムが実行されているときにプログラムが起動しないようにする(Windows)

私はC#で、好ましくは、それをやりたいが、スクリプト言語もOKになります。

は、誰もがそれを実装する方法をコンセプトに私を助けることができますか?

ありがとうございます。

答えて

2

は、バックグラウンドで稼働し続け、それが開始した場合、第2のプログラムを強制終了し、Windowsのサービスとしてあなたのツールを書きます。新しいプロセスがそれを行うにはいくつかの方法があります.NET Events for Process executable start

2

を参照してくださいWMIイベントを聞くことによって開始したときには見つけることができます。 C#を使用している場合は、GetProcessesByName()を使用してプロセス名を取得する必要があります。これは次のようになります。 Process [] processes = Process.GetProcessesByName(processName); あなたは、プロセス名を知っていればあなただけのプロセス を殺すか、他の[セマフォクラス](http://msdn.microsoft.com/en-us/library/system.threading.semaphore.aspx)を使用することができます。

関連する問題