我正在尝试在运行此应用程序的计算机上显示网络适配器。 为此,我希望能够显示所有网络适配器,无论它们具有哪种状态。 然后我希望能够通过按下按钮启用和禁用适配器。
我尝试过使用System.Net.NetworkInformation
,但似乎它只包含一个活跃的那个。
' NETWORK ADAPTERS
' Create label
Dim LabelNetworkAdapter As New Label
Dim old As Padding = LabelNetworkAdapter.Margin
LabelNetworkAdapter.Margin = New Padding(old.Left, 8, old.Right, old.Bottom)
' CreateButton
Dim BtnConnectButton As New Button
BtnConnectButton.Height = 23
BtnConnectButton.Width = 60
For Each nic As NetworkInterface In NetworkInterface.GetAllNetworkInterfaces()
Dim strText As String = nic.Description.ToString
TableLayoutPanel_Nettverkskort.Controls.Add(LabelNetworkAdapter)
LabelNetworkAdapter.Text = strText
TableLayoutPanel_Nettverkskort.Controls.Add(BtnConnectButton)
BtnConnectButton.Text = "Koble fra"
Exit For
Next
答案 0 :(得分:2)
你想要做的是不可能的。禁用网络接口时,操作系统会将其隐藏在应用程序中。这是有道理的,因为你实际上不能使用它。你要看到它的唯一方法是在shell的“我的网络位置”文件夹中(或者他们现在决定称之为的任何内容)。
MSDN上的This bug report似乎恰如其分地描述了您的问题。它被关闭为“按设计”。
documentation甚至解释了返回值为:
NetworkInterface数组,包含描述可用网络接口的对象,如果未检测到接口,则为空数组。