zoukankan      html  css  js  c++  java
  • 判断本机只能运行一个winform程序

    在我们做winform程序时,有时需要对程序运行做一个限制,就比如像一般程序在运行时,就不允许再运行第二个同样的程序。这个功能其实不管对于系统,还是对于程序的安全性而言都是比较重要的。

    那么,如何实现这个功能啦?我们都知道,在winform中,也有像bs模式中一样的全局文件:Program.cs,这个文件定义了程序的进入点。代码如下:

            //判断当前线程是否只有一个

                Process currprocess = Process.GetCurrentProcess();

                string processName = currprocess.ProcessName;

                Process[] proces = Process.GetProcessesByName(processName);

                if (proces.Length > 1)
                {
                    foreach (Process item in proces)
                    {
                        if (item.ProcessName == processName) //说明线程名称一样
                        {
                            if (item.Id != currprocess.Id) //线程名称一样,但是线程id不一样
                            {
                                MessageBox.Show("已经有一个程序在运行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);

                                currprocess.Kill();

                                return;
                            }
                        }
                    }
                }

    好了,在运行程序时,在运行一下,这是就会发现不能启动同样的程序,效果实现。

  • 相关阅读:
    JavaScript之事件委托
    js中的事件委托(事件代理)详解
    CentOS已经安装命令,但提示找不到
    在Linux下创建7种类型的文件
    python源码安装的包的卸载
    新建文件所属组设置
    FFmpeg基础
    微服务架构概念
    一台 Java 服务器可以跑多少个线程?
    「学习的真正作用」​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​写出我心(一百三十八)
  • 原文地址:https://www.cnblogs.com/lmcblog/p/2665031.html
Copyright © 2011-2022 走看看