bool isOwned = false;
Mutex appStartMutex = new Mutex( true, config.ExecutableName + appStartMutexGuid.ToString(), out isOwned );
if ( !isOwned )
{
MessageBox.Show(
String.Format(
CultureInfo.CurrentCulture,
"There is already a copy of the application '{0}' running. Please close that application before starting a new one.",
config.ExecutableName ) );
Environment.Exit( 1 );
Mutex appStartMutex = new Mutex( true, config.ExecutableName + appStartMutexGuid.ToString(), out isOwned );
if ( !isOwned )
{
MessageBox.Show(
String.Format(
CultureInfo.CurrentCulture,
"There is already a copy of the application '{0}' running. Please close that application before starting a new one.",
config.ExecutableName ) );
Environment.Exit( 1 );
}
ExecutableName 是 实例程序名称
appStartMutexGuid.ToString() 是实例程序的GUID
本文介绍了一种使用互斥量Mutex来确保应用程序单例运行的方法。通过创建一个带有唯一标识符(GUID)的Mutex,可以检查是否有其他实例正在运行。如果发现已有实例,则提示用户并终止当前进程。

被折叠的 条评论
为什么被折叠?



