WinCE C#程序,控制启动时仅仅能启动一个程序,使用相互排斥量来实现,该实现方法測试通过

</pre><pre code_snippet_id="430174" snippet_file_name="blog_20140718_5_4634982" name="code" class="csharp">
</pre><pre code_snippet_id="430174" snippet_file_name="blog_20140718_5_4634982" name="code" class="csharp">
</pre><pre code_snippet_id="430174" snippet_file_name="blog_20140718_6_381841" name="code" class="csharp"><pre name="code" class="csharp">WinCE C#程序,控制启动时仅仅能启动一个程序,使用相互排斥量来实现,该实现方法測试通过



<pre name="code" class="csharp">using System.Runtime.InteropServices;

[MTAThread]
        static void Main()
        {
            //Application.Run(new Form1());
            
            string strAppName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;

            IntPtr hMutex = CreateMutex(IntPtr.Zero, true, strAppName);
            if (hMutex == IntPtr.Zero)
                throw new ApplicationException("Failure creating mutex: "
                + Marshal.GetLastWin32Error().ToString("X"));

            if (Marshal.GetLastWin32Error() == ERROR_ALREADY_EXISTS)
            {
                MessageBox.Show("程序已经启动");
                ReleaseMutex(hMutex);
                return;
            }
            else
            {
                Application.Run(new Form1());
                return;
            }
	}

申明:以上文字为“武汉汉码科技有限公司”原创,转载时务必注明出处。

技术分享,沟通你我,共同进步!www.hanma-scan.com




   
原文地址:https://www.cnblogs.com/mfmdaoyou/p/6904520.html