同一个PC只能运行一个应用实例(考虑多个用户会话情况)
生活随笔
收集整理的這篇文章主要介紹了
同一个PC只能运行一个应用实例(考虑多个用户会话情况)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文:同一個PC只能運行一個應用實例(考慮多個用戶會話情況) 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 }
?
總結
以上是生活随笔為你收集整理的同一个PC只能运行一个应用实例(考虑多个用户会话情况)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Google Chrome 总提示fla
- 下一篇: 第五周项目2-对象作为数据成员