zoukankan      html  css  js  c++  java
  • C# 默认以管理员权限运行程序

     /** 
                 * 当前用户是管理员的时候,直接启动应用程序 
                 * 如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行 
                 */
                //获得当前登录的Windows用户标示
            //URL:http://www.bianceng.cn/Programming/csharp/201410/45784.htm
                System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();  
                //创建Windows用户主题  
                Application.EnableVisualStyles();  
          
                System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);  
                //判断当前登录用户是否为管理员  
                if (principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))  
                {  
                    //如果是管理员,则直接运行  
          
                    Application.EnableVisualStyles();  
                    Application.Run(new Form1());  
                }  
                else
                {  
                    //创建启动对象  
                    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();  
                    //设置运行文件  
                    startInfo.FileName = System.Windows.Forms.Application.ExecutablePath;  
                    //设置启动参数  
                    startInfo.Arguments = String.Join(" ", Args);  
                    //设置启动动作,确保以管理员身份运行  
                    startInfo.Verb = "runas";  
                    //如果不是管理员,则启动UAC  
                    System.Diagnostics.Process.Start(startInfo);  
                    //退出  
                    System.Windows.Forms.Application.Exit();  
                } 
  • 相关阅读:
    LNK2001: unresolved external symbol ... virtual ...
    pygments
    cygwin Mingw
    [转]__attribute__((format (printf, 2, 3))
    [转] C和C++混合编程
    [转]网络包的流转
    [转]程序是如何运行起来的
    [转]Makefile中 .PHONY的作用
    [转]makefile学习
    [转] makefile 中 = := ?= += 区别
  • 原文地址:https://www.cnblogs.com/ficow/p/5436666.html
Copyright © 2011-2022 走看看