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