繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> 如何确保应用只有一个实例运行

如何确保应用只有一个实例运行

2007-10-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:平时,我们经常可以遇到有的应用正在运行,这时我们再点击应用程序的快捷方式,就会出现一个提示我们应用程序正在运行的提示。这是有一很实用的技巧。那么它是怎么实现的呢?其实很简单,只要在程序中加入以下的...

平时,我们经常可以遇到有的应用正在运行,这时我们再点击应用程序的快捷方式,就会出现一个提示我们应用程序正在运行的提示。这是有一很实用的技巧。那么它是怎么实现的呢?其实很简单,只要在程序中加入以下的代码可以实现了。

首先把project的Main方法改成

public static void Main()

{

try

{

RegistryKey key = Registry.LocalMachine.OpenSubKey(@"software\zrh");// 读注册表以判断是否正在运行

if (key == null)//如果不存在,就创建标志位

{

RegistryKey writekey = Registry.LocalMachine.CreateSubKey(@"software\zrh");

writekey.SetValue("instanceFlag", "1");

/**//*调用应用程序代码*/

}

else

{

MessageBox.Show("the application has running");

}

}

catch (Exception ex)

{

MessageBox.Show(" on exception is occuring \n" + ex.Message);

}

}其次在应用退出时加入以下代码,以便删除注册表中的内容,否则以后就不能打开该project了。

try

{

Microsoft.Win32.RegistryKey flagKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"software", true);

flagKey.DeleteSubKey("zrh");

}

catch (Exception ex)

{

MessageBox.Show(" on exception is occuring \n" + ex.Message);

}

经过以上的设置,就可以达到让应用程序只有一个实例的效果了,是不是很简单?当然,达到一个目的的方法有很多,这只是其中的一种。

责任编辑:admin
相关文章