C#设置程序以管理员身份运行和C#程序只能运行一个

C# 设置程序必须以管理员身份运行

            #region //设置程序必须以管理员身份运行
            if (!new System.Security.Principal.WindowsPrincipal(System.Security.Principal.WindowsIdentity.GetCurrent()).IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))
            {
                //创建启动对象 
                System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
                //设置运行文件 
                startInfo.FileName = System.Windows.Forms.Application.ExecutablePath;
                //设置启动动作,确保以管理员身份运行 
                startInfo.Verb = "runas";
                try
                {
                    //如果不是管理员,则启动UAC 
                    System.Diagnostics.Process.Start(startInfo);
                }
                catch { }
                //退出 
                System.Windows.Forms.Application.Exit();
                return;
            }
            #endregion

C# 设置程序只能运行一个

#region//设置只能运行一个
            Process cur = Process.GetCurrentProcess();
            foreach (Process p in Process.GetProcesses())
            {
                if (p.Id == cur.Id) continue;
                if (p.ProcessName == cur.ProcessName)
                {
                    SetForegroundWindow(p.MainWindowHandle);
                    SendMessage(p.MainWindowHandle, WM_SYSCOMMAND, SC_RESTORE, 0);
                    return;
                }
            }
             #endregion
发布了148 篇原创文章 · 获赞 365 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/chonbi/article/details/105229959