您的位置:首页 > 编程语言 > C#

C#管理员权限调用cmd以及以管理员身份生成程序

2016-05-20 18:05 344 查看
花了一整天时间理清了管理员权限的问题,怪我懂得太少


vs2013上写的控制台应用程序,如下代码直接用在Main中。源码测试的是更改本地ip、网关等的功能。

C#用管理员调用cmd

string str = "netsh interface ip set address name=\"本地连接\" source=static addr=10.0.0.28 mask=255.255.255.0 gateway=10.0.0.1 gwmetric=1";

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/c C:\\Windows\\System32\\cmd.exe";
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
startInfo.UseShellExecute = false;
startInfo.Verb = "RunAs";

Process process = new Process();
process.StartInfo = startInfo;

process.Start();
process.StandardInput.WriteLine(str);
process.StandardInput.WriteLine("&exit");
process.StandardInput.AutoFlush = true;

string strRst = process.StandardOutput.ReadToEnd();

process.WaitForExit();</span>
process.Close();


C#生成管理员模式的应用程序

参考自C#调用cmd改ip地址。

所以接下来我按照“指示”,调整了项目的“安全性”。

这样下来如果用vs2013 debug模式,根本没效果!注意,杂家很执着的用vs的调试模式。。。。

后来发现,这个操作的效果是,生成的程序logo上有个小盾牌,恍然大悟。表示双击启动会有“用户账户控制”的弹窗。


VS以管理员模式启动

所以执着如我才知道,非要用VS调试模式下 管理员权限启动应用程序 必须这么做:

右键VS的快捷方式->“以管理员方式运行”

这样,我的IP才终于改成功.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: