ここで私は(Win7の64ビット)思い付いたものです:
var query = new SelectQuery("Win32_NetworkAdapter");
var scope = new ManagementScope("\\root\\cimv2");
scope.Connect();
var searcher = new ManagementObjectSearcher(scope, query);
var managementObjects = searcher.Get();
foreach (var mo in managementObjects)
{
Debug.WriteLine("{0} : {1}", mo["Description"], mo["MACAddress"]);
}
マイBluetoothアダプタは次のようになります。
Bluetoothデバイス(パーソナルエリアネットワーク):70:F3:95:88:F7:7E
ただし、無効にすると、MACアドレスは空白として表示されます。
アダプターがクラスのメソッドを介してMACを照会できるようにする必要がありますが、手動でWin32_NetworkAdapterクラスをラップする必要があります。
あなたは
はこのようにそれを起動します.NET FrameworkのSDKツール 'mgmtclassgen.exe' を使用してWMIオブジェクトのクラスラッパーを生成する必要があります(生成されたファイルは80Kです):
mgmtclassgen Win32_NetworkAdapter -p NetworkAdapter.cs
そして、そのようなコードを増補:
var query = new SelectQuery("Win32_NetworkAdapter");
var scope = new ManagementScope("\\root\\cimv2");
scope.Connect();
var searcher = new ManagementObjectSearcher(scope, query);
var managementObjects = searcher.Get();
var adapters = managementObjects.Cast<ManagementBaseObject>().Select(s => new NetworkAdapter(s));
foreach (var adapter in adapters)
{
adapter.Enable();
Console.WriteLine("{0} : {1}", adapter.Name, adapter.MACAddress);
}
しかし、私は(有効呼び出されたときに何も起こらなかったように私はそれが仕事を得ることができなかった)とリターンコードが0であった。私は、あなたや、いくつかの希望でそれを掲載それが機能することを可能にする欠落した詳細を推測するかもしれない。
お返事ありがとうございます、私はそれをチェックアウトします... –