以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  运行DOS命令  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=183199)

--  作者:qzy
--  发布时间:2022/10/28 9:09:00
--  运行DOS命令
版主:
     如何运行DOS命令并获取返回的结果,我想使用NetStat命令获取网络连接状态和PID进行信息并存入数据库中,请赐教!

--  作者:有点蓝
--  发布时间:2022/10/28 9:34:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=50305&skin=0

看6楼

--  作者:qzy
--  发布时间:2022/10/28 10:38:00
--  运行DOS命令
Dim mac As String = ""
Dim p As System.Diagnostics.Process = New System.Diagnostics.Process()
p.StartInfo.FileName = "nbtstat"
p.StartInfo.Arguments = "-a 192.168.1.102"
p.StartInfo.UseShellExecute = False
p.StartInfo.CreateNoWindow = True
p.StartInfo.RedirectStandardOutput = True
p.Start()
Dim ot As String = p.StandardOutput.ReadToEnd()
MessageBox.show(ot)
复制6楼的代码运行报错
图片点击可在新窗口打开查看
将p.StartInfo.FileName = "nbtstat" 改为p.StartInfo.FileName = "netstat"后运行没反应,直接卡死

--  作者:有点蓝
--  发布时间:2022/10/28 10:56:00
--  
不是没反应,而是netstat一直都在运行,除非限制退出dos窗口。

Dim p As System.Diagnostics.Process = New System.Diagnostics.Process()
p.StartInfo.FileName = "netstat"
p.StartInfo.Arguments = "-a 192.168.1.102"
p.StartInfo.UseShellExecute = False
\'p.StartInfo.CreateNoWindow = True 把这句代码去掉,弹出dos窗口后,等待一段时间,后关闭dos窗口,后面代码就会执行了
p.StartInfo.RedirectStandardOutput = True
p.Start()
Dim ot As String = p.StandardOutput.ReadToEnd()
MessageBox.show(ot)

--  作者:qzy
--  发布时间:2022/11/1 9:40:00
--  运行DOS命令
非常感谢详细讲解