欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#通过进程调用cmd判断登录用户权限代码分享

程序员文章站 2024-03-31 11:55:34
复制代码 代码如下:/// /// 应用程序的主入口点。/// [stathread]static void...

复制代码 代码如下:

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[stathread]
static void main()
{
  if (runcmd("net localgroup administrators").indexof(system.environment.username) >= 0)
    {

    //顺利执行。
    }
    else
    {
        //报错提示系统不是管理员用户登录,容易导致程序崩溃。请退出以管理员权限登录。

               
        //并退出程序。
     }
}
/// <summary>
/// 调用cmd.exe程序执行命令。
/// </summary>
/// <param name="command">要执行的命令</param>
/// <returns></returns>
static string runcmd(string command)
{
    //实例一个process类,启动一个独立进程
    process p = new process();

    //process类有一个startinfo属性,这个是processstartinfo类,包括了一些属性和方法,下面我们用到了他的几个属性:

    p.startinfo.filename = "cmd.exe";           //设定程序名
    p.startinfo.arguments = "/c " + command;    //设定程式执行参数
    p.startinfo.useshellexecute = false;        //关闭shell的使用
    p.startinfo.redirectstandardinput = true;   //重定向标准输入
    p.startinfo.redirectstandardoutput = true;  //重定向标准输出
    p.startinfo.redirectstandarderror = true;   //重定向错误输出
    p.startinfo.createnowindow = true;          //设置不显示窗口

    p.start();   //启动
    p.standardinput.writeline("exit");        //不过要记得加上exit要不然下一行程式执行的时候会当机

    return p.standardoutput.readtoend();        //从输出流取得命令执行结果
}