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

 更新时间:2013年12月27日 16:13:29   作者:  
最近自己开发软件需要读取本地配置文件,因为登录用户的权限不够会导致无法读取文件进而导致程序崩溃,查了一些解决方法,代码分享如下

复制代码 代码如下:

/// <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();        //从输出流取得命令执行结果
}

相关文章

  • 浅谈C#中HttpWebRequest与HttpWebResponse的使用方法

    浅谈C#中HttpWebRequest与HttpWebResponse的使用方法

    本篇文章主要介绍了浅谈C#中HttpWebRequest与HttpWebResponse的使用方法,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • C# 参考之访问关键字:base、this

    C# 参考之访问关键字:base、this

    由于静态成员函数存在于类一级,并且不是对象的一部分,因此没有 this 指针。在静态方法中引用 this 是错误的。 索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。
    2008-03-03
  • Unity 实现删除missing脚本组件

    Unity 实现删除missing脚本组件

    这篇文章主要介绍了Unity 删除missing脚本组件的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C#进行操作鼠标和键盘的示例详解

    C#进行操作鼠标和键盘的示例详解

    这篇文章主要为大家详细介绍了如何使用C#进行操作鼠标和键盘,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2025-01-01
  • C#域名解析简单实现方法

    C#域名解析简单实现方法

    这篇文章主要介绍了C#域名解析简单实现方法,可实现针对域名解析显示出主机名、IP地址、别名等功能,需要的朋友可以参考下
    2015-07-07
  • C# DES加密算法中向量的作用详细解析

    C# DES加密算法中向量的作用详细解析

    以下是对C#中DES加密算法中向量的作用进行了详细的介绍,需要的朋友可以过来参考下
    2013-09-09
  • dotNet中的反射用法入门教程

    dotNet中的反射用法入门教程

    这篇文章主要介绍了dotNet中的反射用法,较为详细的分析了.Net中关于反射的概念,使用方法与相关注意事项,需要的朋友可以参考下
    2016-02-02
  • Unity3D实现扭动挤压浏览效果

    Unity3D实现扭动挤压浏览效果

    这篇文章主要为大家详细介绍了Unity3D实现扭动挤压浏览效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • C#从windows剪贴板获取并显示文本内容的方法

    C#从windows剪贴板获取并显示文本内容的方法

    这篇文章主要介绍了C#从windows剪贴板获取并显示文本内容的方法,涉及C#操作剪贴板的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#实现全局快捷键功能

    C#实现全局快捷键功能

    这篇文章介绍了C#实现全局快捷键功能的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论