当前位置: 首页 > news >正文

保证应用程序只有一个实例运行

        public static System.Diagnostics.Process RunningInstance()
        {
            System.Diagnostics.Process current = System.Diagnostics.Process.GetCurrentProcess();
            System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcessesByName(current.ProcessName);
            //查找相同名称的进程
            foreach (System.Diagnostics.Process process in processes)
            {
                //忽略当前进程
                if (process.Id != current.Id)
                {
                    //确认相同进程的程序运行位置是否一样.
                    if (System.Reflection.Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName)
                    {
                        //Return the other process instance.
                        return process;
                    }
                }
            }
            //No other instance was found, return null.
            return null;
        }

在main中调用

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            System.Diagnostics.Process instance = RunningInstance();
            if (instance == null)
            {
                Application.Run(new Form1());
            }
            else
            {
                MessageBox.Show("已有程序打开");
            }

 

转载于:https://www.cnblogs.com/leebokeyuan/p/9328256.html

相关文章:

  • 活动目录系列之三:多域环境的实现(单站点)
  • linux添加开机自启动脚本示例详解
  • Web内容管理系统 Magnolia
  • CentOS6.4下Mysql数据库的安装与配置
  • 委托与事件的练习
  • 1-shell教程
  • 点击空白处键盘hide
  • 学习打卡-2018/07/19
  • 控件学习IOS开源项目(1)之RatingView星级评论控件学习
  • MapReduce剥洋葱
  • IDS与snort
  • upstream sent too big header while reading...
  • VMware混合云–IaaS三国演义?
  • 主从nis服务器配置手册
  • mysql 死锁案例及分析过程
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • css的样式优先级
  • ES6简单总结(搭配简单的讲解和小案例)
  • EventListener原理
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • laravel with 查询列表限制条数
  • Laravel 中的一个后期静态绑定
  • Linux gpio口使用方法
  • PAT A1120
  • Redis学习笔记 - pipline(流水线、管道)
  • Redux系列x:源码分析
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 每天一个设计模式之命令模式
  • 数据可视化之 Sankey 桑基图的实现
  • 再次简单明了总结flex布局,一看就懂...
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​第20课 在Android Native开发中加入新的C++类
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • # include “ “ 和 # include < >两者的区别
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (c语言)strcpy函数用法
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (二)hibernate配置管理
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (接口自动化)Python3操作MySQL数据库
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (四)Controller接口控制器详解(三)
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • .form文件_SSM框架文件上传篇
  • .NET 读取 JSON格式的数据
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET轻量级ORM组件Dapper葵花宝典