首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

VB.net下用process写dos命令后如何样关闭dos

2012-03-03 
VB.net下用process写dos命令后怎么样关闭dos?我用Process.Start( cmd.exe ,/kping-n1127.0.0.1 C:\1

VB.net下用process写dos命令后怎么样关闭dos?
我用Process.Start( "cmd.exe ",   "/k   ping   -n   1   127.0.0.1   > > C:\1.txt   ")之后怎么样关闭dos窗口?
小弟我做的是调用ce下的ping程序以测试网络的连通情况
我先     Process.Start( "cmd.exe ",   "/k   ping   -n   1   127.0.0.1   > > C:\1.txt   ")把结果保存到   1.txt里然后把文本里面的信息读出来再进行搜索匹配判断。
但感觉这样麻烦了。本来我写的程序是(下面在.net   framwork   下没有问题)
Public   Function   CmdPing(ByVal   strIp   As   String)   As   String
                Dim   p   As   New   Process
                p.StartInfo.FileName   =   "cmd.exe "
                p.StartInfo.UseShellExecute   =   False
                'p.StartInfo.RedirectStandardInput   =   True
                'p.StartInfo.RedirectStandardOutput   =   True
                'p.StartInfo.RedirectStandardError   =   True
                'p.StartInfo.CreateNoWindow   =   True
                Dim   pingrst   As   String
                p.Start()                               '开始进程
                'p.StandardInput.WriteLine( "ping   -n   1   "   +   strIp)  
                'p.StandardInput.WriteLine( "exit ")                              
                'Dim   strRst   As   String   =   p.StandardOutput.ReadToEnd()
                If   (strRst.IndexOf( "(0%   loss) ")   <>   -1   And   strRst.IndexOf( "TTL=128 ")   <>   -1)   Then          
                pingrst   =   "网络连接正常 "
                Else
                pingrst   =   strRst                        
                  pingrst   =   "网络不通 "
                End   If
                p.Close()
                Return   pingrst
        End   Function
  但是在.net   compact   framwork   下   '   后面的句子都不支持。所以才想用Process.Start( "cmd.exe ",   "/k   ping   -n   1   127.0.0.1   > > C:\1.txt   ")
但不知道怎么关掉dos窗口。
请各位大大赐教。谢谢!

[解决办法]
Process.Start( "cmd.exe ", "/c ping -n 1 127.0.0.1 ");
------解决方案--------------------


Dim processlist() As Process = Process.GetProcesses()
For Each kp As Process In processlist
If kp.ProcessName = "cmd " Then
kp.Kill()
End If
Next

热点排行