2011-01-29 15 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クエリを再生します。 –

答えて

2

あなたがしようとしていることはできません。ネットワークインターフェイスを無効にすると、オペレーティングシステムはアプリケーションからアプリケーションを隠します。あなたが実際にそれを使用することはできませんので、意味があります。あなたがそれを見る唯一の方法は、シェルの "My Network Places"フォルダ(または今のところそれを呼び出すことを決めたもの)です。

This bug report(MSDN)は、問題を適切に記述しているようです。それは「設計通りに」閉じられた。

ないインターフェイスが検出されない場合利用可能ネットワークインターフェイス、または空の配列を記述するオブジェクトが含まれていたNetworkInterface配列:

documentationも戻り値があることを説明します。

関連する問題