在VB中使用cmd,使用命令并接收输出
Using cmd in VB, using commands and receiving output
我需要知道,如果你能帮助我,如何在 vb 中插入命令,然后它们 运行 在 cmd 中,我得到输出。
我需要执行 "net localgroup Administradores a58465 /add" 并获取错误消息(如果有的话)。
解决方案:`Dim myProcess As Process = New Process
Dim s As 字符串
myProcess.StartInfo.FileName = "c:\windows\system32\cmd.exe"
myProcess.StartInfo.UseShellExecute = 错误
myProcess.StartInfo.CreateNoWindow = 真
myProcess.StartInfo.RedirectStandardInput = 正确
myProcess.StartInfo.RedirectStandardOutput = 真
myProcess.StartInfo.RedirectStandardError = 真
myProcess.Start()
Dim sIn As System.IO.StreamWriter = myProcess.StandardInput
Dim sOut As System.IO.StreamReader = myProcess.StandardOutput
Dim sErr As System.IO.StreamReader = myProcess.StandardError
'sIn.AutoFlush = True
sIn.Write("cls" & System.Environment.NewLine)
sIn.Write("net user" & System.Environment.NewLine)
sIn.Write("exit" & System.Environment.NewLine)
s = sOut.ReadToEnd()
If Not myProcess.HasExited Then
myProcess.Kill()
End If
LB1.Text = s
LB1.Visible = True
sIn.Close()
sOut.Close()
sErr.Close()
myProcess.Close()`
查看 Process.Start。 http://msdn.microsoft.com/en-us/library/0w4h05yb(v=vs.110).aspx
同时查找 ProcessStartInfo class,它将为您提供有关如何启动外部进程的选项。
控制台输入和输出可以通过 ProcessStartInfo 提供给您的程序。
我需要知道,如果你能帮助我,如何在 vb 中插入命令,然后它们 运行 在 cmd 中,我得到输出。
我需要执行 "net localgroup Administradores a58465 /add" 并获取错误消息(如果有的话)。
解决方案:`Dim myProcess As Process = New Process Dim s As 字符串 myProcess.StartInfo.FileName = "c:\windows\system32\cmd.exe" myProcess.StartInfo.UseShellExecute = 错误 myProcess.StartInfo.CreateNoWindow = 真 myProcess.StartInfo.RedirectStandardInput = 正确 myProcess.StartInfo.RedirectStandardOutput = 真 myProcess.StartInfo.RedirectStandardError = 真 myProcess.Start()
Dim sIn As System.IO.StreamWriter = myProcess.StandardInput
Dim sOut As System.IO.StreamReader = myProcess.StandardOutput
Dim sErr As System.IO.StreamReader = myProcess.StandardError
'sIn.AutoFlush = True
sIn.Write("cls" & System.Environment.NewLine)
sIn.Write("net user" & System.Environment.NewLine)
sIn.Write("exit" & System.Environment.NewLine)
s = sOut.ReadToEnd()
If Not myProcess.HasExited Then
myProcess.Kill()
End If
LB1.Text = s
LB1.Visible = True
sIn.Close()
sOut.Close()
sErr.Close()
myProcess.Close()`
查看 Process.Start。 http://msdn.microsoft.com/en-us/library/0w4h05yb(v=vs.110).aspx
同时查找 ProcessStartInfo class,它将为您提供有关如何启动外部进程的选项。
控制台输入和输出可以通过 ProcessStartInfo 提供给您的程序。