[VC]
そのコンピュータで唯一の資源をアクセスするための排他には"Global\\"をつけたグローバルミューテックスにする必要がある。
ミューテックスの名前としてアプリケーション固有の名前を指定する。 その際、その名前の先頭に「Global\」というプレフィックスを付加して 「グローバル・ミューテックス」にすれば、Windows XPで実装された「Fast User Switching (参考:「新世代Windows、Windows XPを初体験(3)」)」のように 複数のユーザー環境が同時実行される場合でも、複数ユーザー間でのアプリケーションの多重起動を禁止できる。 ただし、グローバル・ミューテックスはWindows 2000以降しか対応していないので、 これを利用するアプリケーションは必ずOSバージョンを確認する必要がある。 グローバル・ミューテックスにすると、多重起動の場合にはMutexオブジェクトの生成時にApplicationException例外(System名前空間)が発生するようになるので、 その例外をキャッチして多重起動の判別を行えばよい。
ネタ元