C#禁止重复运行程序,并激活原托盘程序

 static class Program
    {
        [DllImport("User32.dll")]
        private static extern bool ShowWindowAsync(int hWnd, int cmdShow);


        [DllImport("User32.dll", EntryPoint = "FindWindow")]
        private static extern int FindWindow(string lpClassName, string lpWindowName);


        [DllImport("User32")]
        static extern int SetForegroundWindow(int hwnd);


        private const int SW_NORMAL = 1; //正常弹出窗体   


        #region 方法1
        [STAThread]
        static void Main()
        {


            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Process currentProcess = Process.GetCurrentProcess();


            //判断程序是否已经启动  
            Mutex mutex = new Mutex(false, "GTranslate");
            bool Running = !mutex.WaitOne(0, false);
            if (!Running)
            {
                Application.Run(new Form1());
            }
            else
            {
                // MessageBox.Show("程序已经运行" + process.MainWindowTitle, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);  
                int WINDOW_HANDLER = FindWindow(null, "数据库备份");   //程序标题或类名二选1  
                if (WINDOW_HANDLER > 0)
                {
                    //MessageBox.Show(WINDOW_HANDLER.ToString());  
                    ShowWindowAsync(WINDOW_HANDLER, SW_NORMAL);
                    SetForegroundWindow(WINDOW_HANDLER);
                }
                Environment.Exit(0);
            }
        }
        #endregion      
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值