WindowsでハードウェアMACアドレスを取得する方法
-
05-07-2019 - |
質問
NICからMACアドレスを取得することをいじっています-取得する方法はさまざまですが、この記事では最も一般的なものについて説明します。
http://www.codeguru.com/Cpp/ IN / network / networkinformation / article.php / c5451
現在、GetAdaptersInfoメソッドを使用していますが、これは最も安全と思われますが、レジストリを介してMACアドレスが設定されている場合:
次に、変更されたMACアドレスを報告します。実際に真のMACを取得することがわかった唯一の方法は、レジストリエントリを削除し、NICを再起動し、GetAdaptersInfoを介してMACを取得し、レジストリエントリを置き換えて、NICを再起動することです。仕事は完了しますが、ユーザーにはほとんど見えません。
レジストリの設定に関係なく、誰もが慣れている他の方法でハードウェアMACを返す方法はありますか?理想的には、XP上で動作するソリューションが欲しいです。
事前に感謝します!
解決
リンクされているCodeGuruの記事では、ミニポートソリューションは、実装するのは苦痛ですが、あなたが説明する問題を克服する可能性が高いと思います。これは、過去に自分でGetAdaptersInfoソリューションを使用し、アダプターを追加したときに再起動せずにMACアドレスが変更されることに気付いたためです。 PANサービスを提供するBluetoothアダプター。
おそらく、レジストリ設定の変更後に再起動するのではなく、関連するネットワークサービスの停止と再起動を試みることができます。プログラムによる解決策を探す前に、これを手動で簡単に確認できます。
(n.b。上記はすべて推測作業です。試してみて機能する場合は、将来同じことをしようとしている人のために投稿を追加してください。)
他のヒント
ipconfig / all
WMIを使用して、 Win32_NetworkAdapterを列挙できます。 インスタンスを作成し、MACAddressプロパティを確認します。この手法の主な問題は、複数のアクティブなアダプターがインストールされている場合に適切なアダプターインスタンスを見つけることです。ワイヤレス接続もあるラップトップで。