Environment.UserName//获得当前系统登陆用户名
Environment.UserDomainName//获得当前计算机名
下面的两个类都是判断当前登陆的系统用户是不是管理员用户
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
namespace c2
{
class Program
{
static void Main(string[] args)
{
if (runcmd("net localgroup administrators |find \"%username%\"").IndexOf(System.Environment.UserName) >= 0)
Console.WriteLine("Admin");
else
Console.WriteLine("No Admin!");
Console.Read();
}
private static string runcmd(string command)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/c " + command;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
return p.StandardOutput.ReadToEnd();
}
}
}
方式2:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
namespace c2
{
class Program
{
static void Main(string[] args)
{
if (runcmd("net localgroup administrators").IndexOf(System.Environment.UserName) >= 0)
Console.WriteLine("Admin");
else
Console.WriteLine("No Admin!");
Console.Read();
}
private static string runcmd(string command)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/c " + command;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
return p.StandardOutput.ReadToEnd();
}
}
}

本文提供了两种方法来检查当前登录用户是否拥有管理员权限。第一种方法通过运行命令并查找用户名来确定,第二种方法则直接通过命令检查管理员组成员。两种方法都使用了C#中的Process类来启动命令提示符。
572

被折叠的 条评论
为什么被折叠?



