设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP.NET

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

作者:佚名 出处:网络转载 时间:11-19 点击:

内容载入中...
平时,我们经常可以遇到有的应用正在运行,这时我们再点击应用程序的快捷方式,就会出现一个提示我们应用程序正在运行的提示。这是有一很实用的技巧。那么它是怎么实现的呢?其实很简单,只要在程序中加入以下的代码可以实现了。
 首先把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);
            }

经过以上的设置,就可以达到让应用程序只有一个实例的效果了,是不是很简单?当然,达到一个目的的方法有很多,这只是其中的一种。
收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息