2011-01-29 36 views
1

我試圖在運行此應用程序的計算機上顯示網絡適配器。 爲此,我希望能夠顯示所有網絡適配器,而不管它們具有哪種狀態。 然後,我希望能夠通過按下按鈕來啓用和禁用適配器。Vb.net - 顯示每個網絡適配器,啓用或禁用

我試過使用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

這就是禁用界面意味着,應用程序無法再看到它。使用WMI代碼創建器來玩WMI查詢。 – 2011-01-29 20:51:16

回答

2

你試圖做的事情是不可能的。當您禁用網絡接口時,操作系統會將其從應用程序中隱藏起來。這是有道理的,因爲你實際上不可能使用它。你要看到它的唯一方法是在shell的「我的網絡位置」文件夾中(或者他們現在決定調用它的任何東西)。

This bug report在MSDN上似乎恰當地描述你的問題。它被「封閉」設計。

documentation甚至解釋說,返回值是:

包含在未檢測到的接口描述該可用網絡接口,一個空數組目標A的NetworkInterface陣列。

相關問題