#2 得分:20回复于: 2013-01-29 21:52:08
| |
|
#3 得分:0回复于: 2013-01-30 11:21:31
|
#4 得分:0回复于: 2013-01-30 12:22:44
| |
|
#5 得分:0回复于: 2013-01-30 12:28:14
|
一下代码为什么什么也没显示??(我是故意net use 一个无法登陆的电脑的),直接在CMD下使用会显示错误,而C#调用为什么没有显示,我应该如何判断有没有登陆成功
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; namespace ConsoleApplication10 { class Program { static void Main(string[] args) { CMD cmd = new CMD(); string command = @"net use \\172.113.113.113 ""1234"" /user:""administrator"""; Console.WriteLine("CMD命令:"+command); string result = cmd.CMDRun(command); Console.WriteLine(result); Console.ReadKey(); } } class CMD { public string CMDRun(string command) { Process p = new Process(); p.StartInfo.Arguments = "/c" + command; p.StartInfo.CreateNoWindow = false; p.StartInfo.FileName = "cmd.exe"; p.StartInfo.RedirectStandardError = true; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.UseShellExecute = false; p.Start(); string result = p.StandardOutput.ReadToEnd(); return result; } } } |
#2 得分:20回复于: 2013-01-29 21:52:08
http://www.cnblogs.com/h2appy/articles/1204277.html
| |
|
#3 得分:0回复于: 2013-01-30 11:21:31
既然是错误,那就应该获取错误流,把
p.StandardOutput.ReadToEnd(); 换成这个 p.StandardError.ReadToEnd(); 就可以了, 要想两个都保留的话,可以换成这样 string result = p.StandardOutput.ReadToEnd(); if (result == "") { return p.StandardError.ReadToEnd(); } return result; |
|
#4 得分:0回复于: 2013-01-30 12:22:44
应该是读取错误的时候搞错了。 |
|
#5 得分:0回复于: 2013-01-30 12:28:14
|
没有评论:
发表评论