1 using System;
 2 using System.Runtime.InteropServices;
 3 
 4 class Mutex
 5 {
 6     [DllImport("coredll.Dll")]
 7     private static extern int GetLastError();
 8 
 9     [DllImport("coredll.Dll")]
10     private static extern int ReleaseMutex(IntPtr hMutex);
11 
12     [DllImport("coredll.Dll")]
13     private static extern IntPtr CreateMutex(
14         SECURITY_ATTRIBUTES lpMutexAttributes,
15         bool bInitialOwner, string lpName);
16 
17     [StructLayout(LayoutKind.Sequential)]
18     public class SECURITY_ATTRIBUTES
19     {
20         public int nLength;
21         public int lpSecurityDescriptor;
22         public int bInheritHandle;
23     }
24 
25     private const int ERROR_ALREADY_EXISTS = 0183;
26 
27     public static void Run()
28     {
29         IntPtr hMutex = CreateMutex(nullfalse"ZJS_FJ");
30         if (GetLastError() != ERROR_ALREADY_EXISTS)
31         {
32             System.Windows.Forms.Application.Run(new Form1());
33             return;
34         }
35         else
36         {
37             ReleaseMutex(hMutex);
38             return;
39         }
40     }
41 // class
42 

 

相关文章:

  • 2021-06-26
  • 2021-09-14
  • 2022-12-23
  • 2021-12-13
  • 2022-02-16
猜你喜欢
  • 2022-12-23
  • 2021-05-30
  • 2021-07-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案