程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#實現只許一個實例運行(使用mutex類)

C#實現只許一個實例運行(使用mutex類)

編輯:C#入門知識

using System.Runtime.InteropServices;
namespace
TST.SINGLE
{
    public class
TSTPGM
    {
        [DllImport("user32.dll"
)]
        [return
: MarshalAs(UnmanagedType.Bool)]
        static extern bool
SetForegroundWindow(IntPtr hWnd);
        /// <summary>

        /// The main entry point for the application.
        /// </summary>

        [STAThread]
        static void
Main()
        {
            bool createdNew = true
;
            using (Mutex mutex = new Mutex(true, "MyApplicationName", out
createdNew))
            {
                if
(createdNew)
                {
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false
);
                    Application.Run(new
MainForm());
                }
                else

                {
                    Process current
= Process.GetCurrentProcess();
                    foreach (Process process in
Process.GetProcessesByName(current.ProcessName))
                    {
                        if (process.Id !=
current.Id)
                        {
                            SetForegroundWindow(process.MainWindowHandle);
                            break
;
                        }
                    }
                }
            }
        }
    }
}

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved