首页 > 编程提升知识

useshellexecute?windows shell命令

shell是一个命名空间,不能用作表达式

你在使用vb*吧?

可以参照下面代码,他可以让你在自己程序输入dos命令

//dosCommand Dos命令语句

public string Execute(string dosCommand)

{

return Execute(dosCommand, 10);

}

///<summary>

///执行DOS命令,返回DOS命令的输出

///</summary>

///<param name=”dosCommand”>dos命令</param>

///<param name=”milliseconds”>等待命令执行的时间(单位:毫秒),

///如果设定为0,则无限等待</param>

///<returns>返回DOS命令的输出</returns>

public static string Execute(string command, int seconds)

{

string output=””;//输出字符串

if(command!= null&&!command.Equals(“”))

{

Process process= new Process();//创建进程对象

ProcessStartInfo startInfo= new ProcessStartInfo();

startInfo.FileName=”cmd.exe”;//设定需要执行的命令

startInfo.Arguments=”/C”+ command;//“/C”表示执行完命令后马上退出

startInfo.UseShellExecute= false;//不使用系统外壳程序启动

startInfo.RedirectStandardInput= false;//不重定向输入

startInfo.RedirectStandardOutput= true;//重定向输出

startInfo.CreateNoWindow= true;//不创建窗口

process.StartInfo= startInfo;

try

{

if(process.Start())//开始进程

{

if(seconds== 0)

{

process.WaitForExit();//这里无限等待进程结束

}

else

{

process.WaitForExit(seconds);//等待进程结束,等待时间为指定的毫秒

}

output= process.StandardOutput.ReadToEnd();//读取进程的输出

}

}

catch

{

}

finally

{

if(process!= null)

process.Close();

}

}

return output;

}

c# 当中执行 telnet 命令

protected void Button1_Click(object sender, EventArgs e)

{

Execute(“telnet 192.168.0.1”, 10);

}

/**/

///

///执行DOS命令,返回DOS命令的输出

///

/// dos命令

///等待命令执行的时间(单位:毫秒),如果设定为0,则无限等待

///返回输出,如果发生异常,返回空字符串

public static string Execute(string dosCommand, int milliseconds)

{

string output=””;//输出字符串

if(dosCommand!= null&& dosCommand!=””)

{

Process process= new Process();//创建进程对象

ProcessStartInfo startInfo= new ProcessStartInfo();

startInfo.FileName=”cmd.exe”;//设定需要执行的命令

startInfo.Arguments=”/C”+ dosCommand;//设定参数,其中的“/C”表示执行完命令后马上退出

startInfo.UseShellExecute= false;//不使用系统外壳程序启动

startInfo.RedirectStandardInput= false;//不重定向输入

startInfo.RedirectStandardOutput= true;//重定向输出

startInfo.CreateNoWindow= true;//不创建窗口

process.StartInfo= startInfo;

try

{

if(process.Start())//开始进程

{

if(milliseconds== 0)

process.WaitForExit();//这里无限等待进程结束

else

process.WaitForExit(milliseconds);//这里等待进程结束,等待时间为指定的毫秒

output= process.StandardOutput.ReadToEnd();//读取进程的输出

}

}

catch

{

}

finally

{

if(process!= null)

process.Close();

}

}

return output;

}

本文链接:http://www.ynbright-edu.com/html/87968849.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。