【发布时间】:2013-12-04 11:09:41
【问题描述】:
Dim args As String
args="netsh wlan interface ip set address """+adptrname+""" dhcp"
Dim proc As New System.Diagnostics.Process()
proc.StartInfo.FileName = "netsh"
proc.StartInfo.Verb="RunAs"
proc.StartInfo.CreateNoWindow = true
proc.StartInfo.RedirectStandardOutput = True
proc.StartInfo.Arguments = args
proc.StartInfo.UseShellExecute = False
proc.Start()
My.Computer.FileSystem.WriteAllText(MainForm.filePath,proc.StandardOutput.ReadToEnd(), True)
proc.Close()
MsgBox(args)
我编写了上面的代码来更改我的 wlan 适配器以自动获取 ip 地址,但它仍然保留在旧的 ip 配置中,尽管输出表明启用了 dhcp。有人可以告诉我哪里出错了。
【问题讨论】:
-
只是一个疯狂的猜测:也许 args 不应该包含命令本身的名称。尝试在 args 中没有“netsh”的代码。如果这没有帮助,请尝试读出 StandardError 并查看那里的内容。通常您也不必关闭进程。事实上,它可能会破坏它的功能。它应该能够自行关闭。改用 proc.WaitForExit()。
标签: vb.net ip wmi ip-address