C# 使用管理员身份运行CMD,修改当前的适配器的IP

这个页面仅供我自己记录,是查找各个博客得来的结果,如果大神发现错误,欢迎指正。(原地址已经记不清了,如果侵权,请联系我删文)

//使用管理员身份打开cmd,据说这个方法某些环境不管用,不知什么原因

  public  void ExecuteCommandAsAdmin(){System.Diagnostics.Process process = new System.Diagnostics.Process();System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;//startInfo.FileName是要打开的程序startInfo.FileName = "cmd.exe";//startInfo.Arguments是要执行的命令string cmd = "netsh interface ip set address " + activeAdapter.Name + " static 192.168.0.188 255.255.255.0";startInfo.Arguments = "/C "+cmd;print(startInfo.Arguments);startInfo.Verb = "runas";process.StartInfo = startInfo;process.Start();process.WaitForExit();process.Close();}

直接打开从cmd,且输入命令行,不是管理员身份
ProcessCommand() 这个方法不能直接调用,需要新开一个线程

void Start(){Thread cmd = new Thread(CmdCtr);cmd.Start();}        //传入的命令行指令private void CmdCtr(){//打开控制面板string cmd = "netsh interface ip set address "+ activeAdapter.Name + " static 192.168.0.188 255.255.255.0";print(cmd);//string cmd = "control";//ProcessCommand("cmd.exe", cmd);print("修改");}/// <summary>/// 打开cmd/// </summary>/// <param name="command">打开的程序</param>/// <param name="argument">要输入的命令</param>//string cmd = "control";//ProcessCommand("cmd.exe", cmd);public static void ProcessCommand(string command, string argument){//UnityEngine.Debug.Log(argument);ProcessStartInfo info = new ProcessStartInfo(command);//启动应用程序时要使用的一组命令行参数。//但是对于cmd来说好像是无效的,可能是因为UseShellExecute的值设置为false了//但是对于svn的程序TortoiseProc.exe是可以使用的一个参数//info.Arguments = argument;//是否弹窗info.CreateNoWindow = true;//获取或设置指示不能启动进程时是否向用户显示错误对话框的值。info.ErrorDialog = true;//获取或设置指示是否使用操作系统 shell 启动进程的值。info.UseShellExecute = false;if (info.UseShellExecute){info.RedirectStandardOutput = false;info.RedirectStandardError = false;info.RedirectStandardInput = false;}else{info.RedirectStandardOutput = true; //获取或设置指示是否将应用程序的错误输出写入 StandardError 流中的值。info.RedirectStandardError = true; //获取或设置指示是否将应用程序的错误输出写入 StandardError 流中的值。info.RedirectStandardInput = true;//获取或设置指示应用程序的输入是否从 StandardInput 流中读取的值。info.StandardOutputEncoding = System.Text.Encoding.UTF8;info.StandardErrorEncoding = System.Text.Encoding.UTF8;}//启动(或重用)此 Process 组件的 StartInfo 属性指定的进程资源,并将其与该组件关联。Process process = Process.Start(info);//StandardInput:获取用于写入应用程序输入的流。//将字符数组写入文本流,后跟行终止符。process.StandardInput.WriteLine(argument);//获取或设置一个值,该值指示 StreamWriter 在每次调用 Write(Char) 之后是否都将其缓冲区刷新到基础流。process.StandardInput.AutoFlush = true;if (!info.UseShellExecute){UnityEngine.Debug.Log(process.StandardOutput);UnityEngine.Debug.Log(process.StandardError);}//关闭process.Close();}

遍历当前所有的网络适配器名称

//NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();//foreach (NetworkInterface adapter in adapters)//{//    print(adapter.Name);//}

查找当前所使用的网络适配器名称

        //NetworkInterfaceType.Ethernet 是以太网  NetworkInterfaceType.Wireless80211 是无线网卡NetworkInterface[] networks = NetworkInterface.GetAllNetworkInterfaces();activeAdapter = networks.First(x => x.NetworkInterfaceType != NetworkInterfaceType.Loopback&& x.NetworkInterfaceType != NetworkInterfaceType.Tunnel&& x.OperationalStatus == OperationalStatus.Up&& x.Name.StartsWith("vEthernet") == false);print(activeAdapter.Name);

C# 使用管理员身份运行CMD,修改当前的适配器的IP相关推荐

  1. 【Windows下设置全局以管理员身份运行cmd】

    Windows下设置全局以管理员身份运行cmd 原理是修改注册表,下面是注册表文件的内容. 将下面代码保存到文本中,并重命名为cmd.reg.双击,可设置为任意位置打开命令行都是管理员身份 Windo ...

  2. npm 安装出现的问题:一定要以管理员身份运行cmd

    我真的是纯纯无语了,今天配置新电脑的vue,然后呢发现半天安装不成功,代码报错非常离谱: ERR! code EEXIST npm ERR! path C:\Users\beaty-Ida\AppDa ...

  3. 14--以管理员身份运行 CMD 的几种方法

    以管理员身份运行 CMD 的几种方法 打开C:\Windows\System32目录,找到cmd.exe,单击选中后右键,菜单中选择"以管理员身份运行". 点开开始菜单,在搜索框中 ...

  4. Net Core 管理员身份运行CMD 源码

    C# winform 中以管理员身份运行cmd 在项目--安全性-- 启用 ClickOnce安全设置  编译运行 会生成 app.manifest 文件.在app.mainifest 文件中 使用  ...

  5. 管理员身份运行cmd;cmd命令切换到指定文件夹目录;cmd命令窗口中复制粘贴

    如何以管理员身份运行cmd? 点击任务栏搜索按钮,搜索 cmd 右键管理员身份打开 管理员身份运行cmd时的一些常用命令 i.目录操作: e: #切换到E盘(要想切换到某个文件夹,要先切换到文件夹所属 ...

  6. 设置始终以管理员身份运行cmd窗口

    我们在平时开发的过程中,有些服务的启动需要以管理员的身份进入cmd窗口进行启动.我们每次都要右键"以管理员身份运行"很麻烦且低效. 快捷方式图标设置始终以管理员身份运行cmd窗口 ...

  7. win10设置默认以管理员身份运行cmd窗口

    每次要用管理员打开cmd窗口时,总是好麻烦,所以做一些设置,以管理员身份运行cmd窗口 第一步,搜索cmd,打开快捷方式文件位置 第二步, 鼠标右键快捷方式,打开属性,选择高级,再勾选用管理员身份运行 ...

  8. Win11/Windows11设置始终以管理员身份运行cmd窗口

    在使用Windows进行开发时,我们经常需要使用管理员身份运行cmd窗口, 但是每次打开都需要右键"以管理员身份运行",比较浪费时间, 下面将介绍在Win11/Windows11系 ...

  9. 如何快速以管理员身份运行cmd命令符窗口

    电脑快速以管理员身份运行cmd命令符窗口 解决方法: 以前以管理员身份运行cmd窗口都要去C盘的System32下找cmd.exe,现在我又学到了一招,简单点: 右键"开始"-&g ...

最新文章

  1. python中的对象拷贝
  2. 学习python装饰器_Python装饰器学习(九步入门)
  3. 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第7节 内部类_14_匿名内部类的注意事项...
  4. libevent简介和使用【转】
  5. STM32开发 -- 开发环境搭建
  6. 音视频技术开发周刊 78期
  7. gtest测试框架使用详解_测试框架TestNG使用介绍
  8. 继续畅通工程(HDU-1879 )
  9. 高端大气上档次的官网介绍导航页源码
  10. 程序员啊 ,请保护好你的眼睛 !
  11. Linux学习系列 --awk命令学习
  12. 2023年的深度学习入门指南(14) - 不能只关注模型代码
  13. openlayers 地图添加比例尺
  14. Flask数据库_filter过滤器的使用
  15. vscode文件飘红色波浪线
  16. matlab昆虫繁殖实验,MATLAB--实验四 昆虫繁殖问题.ppt
  17. windows下的host文件在哪里,有什么作用?
  18. 千万数据量下的真实业务场景SQL性能优化!
  19. 什么是web前端驻场开发,费用怎么样
  20. 2022年备考考研英语二作文

热门文章

  1. 利用badusb对用户进行木马远控
  2. (P2014[CTSC1997])选课(树上背包)
  3. RS232\RS485\TTL接口\UART
  4. 服务器系统能耗,服务器能耗怎么计算
  5. 数据集Advertising.csv——分析出广告媒体投入与销售额之间的关系
  6. 分分钟搞定Grafana(图文详解)
  7. EOF feof()
  8. cannot import name rgb2gray
  9. pyppeteer 使用阿布云代理
  10. 系统WallPaper图片可以设置成屏幕大小的图吗?