我有要求在我的Metro UI應用程序中獲取網絡接口的MAC地址。據我所知,這在.NET 4.5 for Metro應用程序API中不受支持。我錯了嗎?可能在.NET Metro應用程序中獲取網絡MAC地址?
回答
您正在訪問的低級別的網絡從一個Metro風格的應用程序信息的限制,因此,這是不可能與股票SDK。這是設計。
悲傷的臉:(但我想要的MAC地址 – Jippers 2012-07-30 17:55:47
private void getDeviceInfos()
{
Profiles = Windows.Networking.Connectivity.NetworkInformation.GetConnectionProfiles();
Adapter = Profiles[0].NetworkAdapter;
Guid AdapterId = Adapter.NetworkAdapterId;
}
IReadOnlyList<Windows.Networking.Connectivity.ConnectionProfile> Profiles;
Windows.Networking.Connectivity.NetworkAdapter Adapter;
這有助於獲得MAC地址? – 2012-09-16 23:44:27
編號給出一個GUID。 – Jippers 2012-09-17 20:25:14
您不能檢索MAC地址每說,但您可以檢索硬件特定的信息來識別機器。
下面是一個完整的MSDN文章討論的主題:Guidance on using the App Specific Hardware ID (ASHWID) to implement per-device app logic (Windows)
小心使用你需要的信息,而不是完整的ID,因爲它可能修改是對你沒用(如碼頭信息例如站字節)。
下面是基於幾個字節(CPU ID,內存大小,磁盤設備和BIOS的序列號)一個計算設備ID的代碼示例:
string deviceSerial = string.Empty;
// http://msdn.microsoft.com/en-us/library/windows/apps/jj553431
Windows.System.Profile.HardwareToken hardwareToken = Windows.System.Profile.HardwareIdentification.GetPackageSpecificToken(null);
using (DataReader dataReader = DataReader.FromBuffer(hardwareToken.Id))
{
int offset = 0;
while (offset < hardwareToken.Id.Length)
{
byte[] hardwareEntry = new byte[4];
dataReader.ReadBytes(hardwareEntry);
// CPU ID of the processor || Size of the memory || Serial number of the disk device || BIOS
if ((hardwareEntry[0] == 1 || hardwareEntry[0] == 2 || hardwareEntry[0] == 3 || hardwareEntry[0] == 9) && hardwareEntry[1] == 0)
{
if (!string.IsNullOrEmpty(deviceSerial))
{
deviceSerial += "|";
}
deviceSerial += string.Format("{0}.{1}", hardwareEntry[2], hardwareEntry[3]);
}
offset += 4;
}
}
Debug.WriteLine("deviceSerial=" + deviceSerial);
- 1. Ping網絡並獲取mac地址
- 2. 如何從網絡上的IP地址獲取MAC地址?
- 3. 網絡適配器禁用時獲取MAC地址?
- 4. 在Windows 8應用程序中獲取MAC地址
- 5. 在ASP.NET應用程序中獲取客戶端MAC地址
- 6. 獲取本地網絡中的現場主機MAC地址
- 7. 使用Java小程序在網頁上獲取MAC地址
- 8. 是否有可能獲得當前連接的WiFi網絡的SSID和MAC地址在應用程序
- 9. 獲取C#中網絡適配器的原始MAC地址#
- 10. 如何獲取WiFi網絡接口的MAC地址?
- 11. 在Android中獲取網絡IP地址
- 12. 有可能使用PHP獲取網絡地址?
- 13. 獲取網絡中的所有mac地址android
- 14. 獲取應用程序的計算機的ID或MAC地址?
- 15. 獲取網絡客戶端的MAC地址,使用PHP
- 16. 如何獲取使用java的網絡設備的MAC地址
- 17. Python掃描網絡IP地址和mac
- 18. Arduino搜索網絡的IP地址,並獲得MAC地址
- 19. 獲取網絡用戶的IP地址
- 20. 獲取內置WiFi網絡的MAC地址
- 21. 從本地網絡的IP地址獲取本機網絡上的機器MAC地址#
- 22. 是否有可能從IIS獲取asp.net網絡地址
- 23. C++:獲取Vista上的網絡適配器的MAC地址?
- 24. 通過IPv6獲取遠程MAC地址
- 25. 如何在Windows 8 metro風格的應用程序中獲得網絡響應?
- 26. 如何通過C#獲取網絡打印機的MAC地址?
- 27. 如何使用Visual Studio(C++或.net/C#)應用程序從已知(和固定)MAC地址獲取IP地址?
- 28. 獲取MAC地址
- 29. Mac OS X:我如何獲得所有可用WiFi網絡的MAC地址?
- 30. 獲取網絡上的所有IP和MAC地址
的目的是什麼,你所需要的MAC地址?也許有問題的替代解決方案。 – 2012-09-16 23:44:47
這是一個「好的」持久計算機標識符。是的,人們可以欺騙MAC地址,但很少有同一本地網絡中的兩個系統具有完全相同的MAC地址,這是我們所需要的。 – Jippers 2012-09-17 20:24:49