我的平臺是Windows 7(或更高版本),而且我在使用Visual Studio 2010中C++/Windows的:獲取唯一的機器ID:MAC地址,卷序列號,
在試圖得到一個唯一機器標識符,我試圖檢索的MAC地址,我遇到了以下問題。
我有困難識別其是從由GetAdapatersInfo方法返回適配器列表主以太網網絡適配器。
我可以檢查它們的類型(它應該是MIB_IF_TYPE_ETHERNET)獲得以太網適配器列表。
不過,也有我的機器上的多個以太網適配器:實際LAN適配器,思科創建的軟件適配器,藍牙以太網adapater等
取決於我如何連接到互聯網,這個名單不斷變化。
那麼,我怎麼知道哪一個是實際的以太網適配器(將使用LAN電纜連接的那一個)。
我仍在挖掘答案。但是,僅僅想指出「GetAdaptersAddresses」方法提供了IP_ADAPTER_ADDRESSES結構。該結構具有「友好名稱」字段。這個字段的值可以用來評估它是否是「本地連接」。不知道,這種方法有多可靠。 –
但是,仍然在尋找答案,我發現「UuidCreateSequential」使用「主」NIC來生成UUID。主NIC根據我如何連接到互聯網不會改變。完整的例子在以下位置。 http://www.codeguru.com/cpp/in/network/networkinformation/article.php/c5451/Three-ways-to-get-your-MAC-address.htm –
只是想補充說主要mac地址可能如果/當計算機重啓時以及CISCO VPN等服務創建/刪除虛擬網絡適配器時更改。仍然努力尋找一種可靠的方法來生成唯一的機器ID –