2006-06-14
2重起動防止
Windowsアプリケーションの2重起動防止については、2006-03-14に取り上げたが、Windows XPでは、ユーザ切り替え(Fast User Switching)がサポートされているためさらに考慮が必要だ。
Windows ロゴプログラム "Designed for Microsoft Windows XP" アプリケーション仕様の1.5にてサンプルコード付きで解説されている。
Windows XPでは、2重起動防止には以下の2つの意味がある。
- マシン上で1つだけ起動したい場合
グローバルな名前空間を使用する必要がある。 - ログイン中のユーザ1人に1つだけ起動したい場合
従来の名前空間を使用する必要がある。
グローバルな名前空間を使用するには"Global\"をミューテックス名の前に付加すると良いらしい。
Windowsが無計画な増築を繰り返す異形の建築物のように見えるがきっと気のせいだ、ということにしたい。