C# WinForm中如何让当前应用程序只允许启动一个实例

我们在WinForm开发中,很多情况下是需要只允许让用户运行一个实例,那么代码其实很简单。只需要修改Program.cs文件,代码如下

复制代码
 static class Program
    {


        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            //Application.EnableVisualStyles();
            //Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new Fm_Login());
            bool noRun;
            //判断是否已经有需要运行一个实例,如果系统没有,则运行一个
            using (System.Threading.Mutex m = new System.Threading.Mutex(true, Application.ProductName, out noRun))
            {
                if (noRun)
                {
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Form Login = new Fm_Login();
                    Login.ShowDialog();//显示登陆窗体  
                    if (Login.DialogResult == DialogResult.OK)
                    {
                        Application.Run(new Fm_main());
                    }//判断登陆成功时主进程显示主窗口  
                    else return;
                }
                else {
                    MessageBox.Show("目前已有一个程序在运行,请勿重复运行程序","提示");
                }
            }

        }
    }
复制代码

 

posted @   _Vincent  阅读(2803)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示