这是我在这里的第一篇文章,所以请放心,我也对VB有很好的了解。
我正在创建一个应用程序,只需点击一下按钮即可创建一个WiFi热点,这样我就可以将我的笔记本电脑用作我的设备(如手机)的WiFi扩展器,但是,我正在使用命令提示符执行此操作。到目前为止,这是我的代码:
Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
Dim startInfo As New ProcessStartInfo("cmd")
startInfo.WindowStyle = ProcessWindowStyle.Minimized
startInfo.Arguments = "netsh show wlan drivers"
Process.Start(startInfo)
End Sub
问题是,它没有传递参数。 Cmd发射很好但没有收到任何东西。
我尝试过的事情: 1.使用process.start和ProcessStartInfo 2.更改工作目录 3. cmd启动后发送参数(在process.start之后) 4.改变目标框架 5.在x86和x64中运行 6.以管理员身份运行 7.尝试其他命令,例如“color 2f”。失败。
非常感谢任何帮助!
编辑:甚至没有传递WindowStyle参数。
答案 0 :(得分:2)
您需要添加
startInfo.Arguments = "/C netsh wlan show drivers"
没有该标志(/C)
CMD命令立即退出并且不执行任何操作
无论如何你的命令都是错误的。正确的语法是
netsh wlan show drivers
您可以更改代码以此方式捕获命令的输出
Dim startInfo As New ProcessStartInfo("cmd")
startInfo.WindowStyle = ProcessWindowStyle.Minimized
startInfo.Arguments = "/C netsh wlan show drivers"
startInfo.RedirectStandardOutput = true
startInfo.UseShellExecute = false
startInfo.CreateNoWindow = true
Dim p = Process.Start(startInfo)
Dim result = p.StandardOutput.ReadToEnd()
p.Close()