5

Windows XP Embedded で C# (.NET 2.0) を使用してプログラムでネットワーク アダプタを無効にする必要があります。

背景の理由: PC に Bluetooth スタックをインストールした後、Bluetooth PAN アダプターは Bluetooth マネージャー プログラム (システム トレイで実行される) をブロックします。Bluetooth PAN を無効にすると、Bluetooth マネージャーは正常に動作します。

この問題は、Windows XP Embedded マシンでのみ発生します。

4

4 に答える 4

2

netsh interface set interface "YOUR_ADAPTOR" DISABLED

注: XP については注意してください。ただし、Windows Vista / Windows 7 では、これは管理者権限 (「管理者として実行」オプション) で実行されたコマンド プロンプトでのみ機能します。

于 2012-04-29T09:44:21.170 に答える
2

これを試して:

netsh interface set interface "YOUR_ADAPTOR" DISABLED
于 2011-09-19T10:23:09.063 に答える
2

デバイス マネージャーに表示される名前を使用する場合は、おそらく WMI を使用する方が簡単です。クエリ

SELECT * FROM Win32_NetworkAdpater WHERE NName='name from device mnanager'

メソッドでWMI オブジェクトを選択しますDisable

「Realtek PCIe GBE Family Controller」というデバイス名を指定すると、次のようになります。

var searcher = new ManagementObjectSearcher("select * from win32_networkadapter where Name='Realtek PCIe GBE Family Controller'");
var found = searcher.Get();
var nicObj = found.First() as ManagementObject; // Need to cast from ManagementBaseObject to get access to InvokeMethod.

var result = (uint)nicObj.InvokeMethod("Disable"); // 0 => success; otherwise error.

注意。このようNetshに、無効化を実行するには昇格が必要です (ただし、クエリには必要ありません)。

于 2012-04-29T10:51:24.930 に答える
0

何を無効にしようとしているかによって異なります。LANネットワークインターフェイスを無効にしようとしている場合、XPマシンで(私が知る限り)これをプログラムで行う唯一の可能性は、devcon.exe(デバイスマネージャーコマンドラインユーティリティのようなプログラム)を使用することです。

構文は次のようになります

devcon disable *hardware ID of your adapter*

(他の多くの詳細とともに)HWIDを取得します

wmic NIC

または、XPマシンでPowershellにアクセスできる場合は、そこでirを適切にフィルタリングできるため、これを使用できます。wmic NICの結果を出力する以外に何もしませんSelect * From Win32_NetworkAdapter

gwmi win32_networkAdapter | select Name, PNPDeviceID | where {$_.Name -eq "*your adapter name*"}

また

gwmi -query "select Name, PNPDeviceID from Win32_Networkadapter" | where {$_.Name -eq "*your adapter name*"}

WMIを使用してアダプターを無効または有効にする場合の問題は、メソッドDisable()Enable()メソッドを実装するのはデバイスドライバー次第であるため、実際にWMIが機能することを信頼できないことです。

Bluetoothアダプターやその他のデバイスでどれだけうまく機能するかはわかりnetshませんが、devconを使用してHWIDを検索するよりもはるかに簡単なソリューションなので、ぜひ試してみることをお勧めします。

于 2013-02-19T11:00:49.130 に答える