MyApp1(C#)がMyApp2(C#)を起動します。 MyApp2が完全にアップすると、それが実行されます。これは使用して発生するためミューテックスを使用して別のアプリのライフタイムを追跡する
new Mutex(true, "MyApp2IsRunning");
はまた、MyApp1が待機していた:
Mutex myApp2Mutex = null;
while (myApp2Mutex == null && !timedOut)
{
try
{
myApp2Mutex = Mutex.OpenExisting("MyApp2IsRunning");
}
catch(WaitHandleCannotBeOpenedException)
{
Thread.Sleep(100);
}
}
if (timedout) {return error;}
myApp2Mutex.WaitOne();
MyApp2が割り当てられた時間内に起動するのであれば、MyApp1は今MyApp2IsRunningで待機しますユーザーがいつMyApp2を終了したかを知るミューテックス。
私はMyApp1のみをC++で書き直しています。 MyApp2のステータスを検出するための同等のMutex関連コードは何ですか?だから、MyApp1はMyApp2を起動する責任がありますが、MyApp2が起動しているときとMyApp2を終了したときを検出する必要があります。上記と同じコードですが、C++では同じです。
広すぎます。おそらく、最初に「mutex IPC」を検索するGoogleをいくつか実行したいと思うかもしれません。 –
Windows APIのmutexを使用します。 – MicroVirus
@ChristianHackl投稿は広すぎますか?私は、私が移植しようとしている正確なコードを提供するよりも具体的ではないと思う。私はC++の開発者ではないので、Googleの検索結果はstd :: mutexと他のオプションの違いについて不思議に思いました。 –