实际上就是在程序中判断当前用户是否属于管理员组。
在Windows7中直接运行程序,返回false。右键-以管理员身份运行,返回true。
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine(isRunningAsAdmin());
System.Console.ReadLine();
}
/// <summary>
/// 判断程序是否以管理员身份运行
/// </summary>
/// <returns></returns>
public static bool isRunningAsAdmin()
{
bool result = false;
try
{
System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();
System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);
result = principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator);
}
catch(Exception e)
{
//log
System.Console.WriteLine("error:" + e);
}
return result;
}
}