博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
同一个PC只能运行一个应用实例(考虑多个用户会话情况)
阅读量:5949 次
发布时间:2019-06-19

本文共 1175 字,大约阅读时间需要 3 分钟。

原文:

1 class Program 2 { 3     private static Mutex m; 4  5     [STAThread] 6     static void Main()               7     { 8         bool createNew = false; 9 10         /*11          * 在运行终端服务的服务器上,已命名的系统 mutex 可以具有两级可见性。12          * 如果名称以前缀“Global\”开头,则 mutex 在所有终端服务器会话中均为可见。13          * 如果名称以前缀“Local\”开头,则 mutex 仅在创建它的终端服务器会话中可见。 在这种情况下,服务器上各个其他终端服务器会话中都可以拥有一个名称相同的独立 mutex。14          * 如果创建已命名 mutex 时不指定前缀,则它将采用前缀“Local\”。 15          * 在终端服务器会话中,只是名称前缀不同的两个 mutex 是独立的 mutex,这两个 mutex 对于终端服务器会话中的所有进程均为可见。16          * 即:前缀名称“Global\”和“Local\”说明 mutex 名称相对于终端服务器会话(而并非相对于进程)的范围。 17          */18         string mutexName = String.Format("Global\\{0}", "IPP PCL");19 20         try 21         {22             m = new System.Threading.Mutex(true, mutexName, out createNew);23         }24         catch (UnauthorizedAccessException unauthorizedAccessex)25         {26             //命名的互斥体存在并具有访问控制安全性,但用户不具有 MutexRights.FullControl。27         }28 29         if (!createNew)30         {31             Console.WriteLine("Application is running");32 33             return;34         }35 36         Console.WriteLine("Success");37 38         Console.ReadKey();39     }40 }

 

转载地址:http://saixx.baihongyu.com/

你可能感兴趣的文章
JQ 循环切换DIV
查看>>
Android Fragment实践(二)
查看>>
centos 修改主机名立即生效和重启后也生效的方法
查看>>
Windows 64 位 mysql 5.7以上版本包解压安装
查看>>
知道双字节码, 如何获取汉字 - 回复 "pinezhou" 的问题
查看>>
TClientDataSet[14]: 测试 FindFirst、FindNext、FindLast、FindPrior、Found
查看>>
CentOS 6.3中配置bond多网卡负载均衡
查看>>
clamav 完整查杀 linux 病毒实战
查看>>
我的友情链接
查看>>
EIGRP的Metric计算以及负载均衡
查看>>
org-capture 配置
查看>>
linux下lvs搭建负载均衡集群
查看>>
JMS 实例讲解
查看>>
求教:如何成为一个优秀的项目经理人
查看>>
shell 脚本--备份、还原mysql数据库
查看>>
JS脚本静态变量调用方法
查看>>
linux中cacti和nagios整合
查看>>
Parallels Desktop12推出 新增Parallels Toolbox
查看>>
正则表达式验证身份证格式是否正确
查看>>
Firebird(全功能的,免维护的数据库,能够管理多个独立的数据库) V2.1.3 英文特别版...
查看>>