在一个程序中我一直用这种方式控制单实例运行:

bool createNew = true;
using (Mutex m = new Mutex(false, "X8127891C-CD52-4448-B0FF-AB5E5AA34F15", out createNew))
 {
       if (createNew == false)
       {
              MessageBox.Show("此程序正在运行,并不允许同时运行多个实例", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
              return;
        }

。。。。。

程序一直运行良好,但前段时间突然发现一个问题:在使用操作系统的远程桌面登录时,可以建立多个程序实例,即不同的会话都可成功运行程序,只是同一会话内只能建立一个实例。我查了msdn的确说Mutex是操作系统的级的,这是为何呢?

没有时间探究了,只是简单作了改动(这样同名的程序虽然不同,但也无法同时运行,好在本程序不是通用产品,同名的可能性不大):

Process[] ps = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
            if (ps.Length >= 2)
            {
                MessageBox.Show("此程序正在运行,不允许同时运行多个实例", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

。。。。。

转载于:https://www.cnblogs.com/81/archive/2012/06/15/2550272.html

Mutex对象是操作系统级?相关推荐

  1. 操作系统级虚拟化概述

    2019独角兽企业重金招聘Python工程师标准>>> 操作系统级虚拟化 KVM.XEN等虚拟化技术允许各个虚拟机拥有自己独立的操作系统.与KVM.XEN等虚拟化技术不同,所谓操作系 ...

  2. 1.2.5 计算机系统的多级层次结构(硬联逻辑级、微程序级、传统机器级、操作系统级、汇编语言级、高级语言级、应用语言级)

    文章目录 计算机系统层次结构 0.硬联逻辑级 1.微程序级 2.传统机器级 3.操作系统级 4.汇编语言级 5.高级语言级 6.应用语言级 计算机系统层次结构 指的是计算机系统由硬件和软件两大部分所构 ...

  3. 全虚拟化半虚拟化硬件辅助搜索虚拟化操作系统级虚拟化

    全虚拟化(FullVirtulization) 简介:主要是在客户操作系统和硬件之间捕捉和处理那些对虚拟化敏感的特权指令,使客户操作系统无需修改就能运行,速度会根据不同的实现而不同,但大致能满足用户的 ...

  4. 【操作系统】CSAPP学习笔记

    CSAPP学习笔记 前言 在阅读本书前,最好先了解一下书本的结构,然后根据结构,网上查查网评.最好能找到一些最佳阅读技巧.可以给自己定一个大一点的目标,比如,期望读完这本书,可以自己设计一个操作系统. ...

  5. 一个去中心化的数据中心操作系统模型

    目录 前言 3.一个去中心化的数据中心操作系统模型 3.1定义和概念 3.2要求 3.2.1效率要求 3.2.2安全要求 3.2.3其他要求 3.3分布式对象 3.4资源命名 3.5资源管理 3.6永 ...

  6. 计算机操作系统(笔记)

    计算机操作系统 可参考Jennica的文章:http://jennica.space/2017/03/21/os-principle/ 常用指令介绍 答:(1)授权指令chmod chmod [who ...

  7. C++11 并发指南三(std::mutex 详解)

    上一篇<C++11 并发指南二(std::thread 详解)>中主要讲到了 std::thread 的一些用法,并给出了两个小例子,本文将介绍 std::mutex 的用法. Mutex ...

  8. Linux操作系统基础 Intel32位系统架构总览

    前言 说是Linux操作系统基础,其实应该是Intel IA-32架构,但是以学习Linux操作系统为目的,故而称为<Linux操作系统基础>.本部分开始主要讲解80x86保护模式下基本概 ...

  9. 嵌入式Linux操作系统学习规划,学习嵌入式开发需要哪些知识?

    嵌入式Linux操作系统学习规划 ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2) 必须掌握一个嵌入 ...

最新文章

  1. CPD和DESCR文件查看
  2. string的内存管理问题
  3. 使用opencv简单的播放AVI程序(40行)
  4. linux进程管理命令kill,Linux进程管理命令-kill | IT运维网
  5. 程序设计爬楼梯问题_楼梯案例:解决楼梯问题的C ++程序
  6. 计算机图形学颜色表示,计算机图形学 颜色表示模型.ppt
  7. 用了Python,老板再也不用担心我写不了CUDA了!
  8. 剑指offer--3
  9. Python基础----Matplotlib_新增
  10. 今日恐慌与贪婪指数为72 贪婪程度有所缓解
  11. 【算法大赛直播周】隐私保护与精准营销亦能兼得,“联邦广告”如何打破数据孤岛?
  12. Tensorflow API解析 -目录
  13. jQuery锁定页面元素(表格列)
  14. 泰坦尼克号python数据分析统计服_Kaggle入门级赛题:泰坦尼克号生还者预测——数据分析篇...
  15. 现代治理10.0:Diligent研究院报告称,进入董事会的少数女性董事在董事会领导职务的角逐中超越男性董事
  16. 思必达软件督查督办软件技术开发与设计
  17. python自定义标识符的使用区分大小写吗_Python中的标识符是不区分大小写的
  18. MVC5局部视图的调用
  19. 黑吃黑第四季/全集Banshee迅雷下载
  20. charts中各种图演示

热门文章

  1. 最小生成树----kruskal算法代码
  2. 2017百度之星资格赛:1003. 度度熊与邪恶大魔王
  3. 图像读取、显示和保存
  4. Kong API Gateway 配置文件详解
  5. python应用系列教程——python的GUI界面编程Tkinter全解
  6. html图片上下高度不一样,【已解决】HTML图片横向布局中第一张图片和其他图片高度不一致...
  7. SDU暑期集训排位(3)
  8. 使用IDEA创建一个Maven Web工程:无法创建Java Class文件
  9. 阿里云短信服务bug
  10. Linux之find学习--详解