如何在C#中为运行Windows 8的计算机获取唯一标识符?

Sta*_*ies 8 c# unique-id windows-8 windows-store-apps

我正在研究用C#编写的Metro应用程序,需要一种唯一识别设备的方法.我在文档中找到了ASHWID看起来很棒.建议的代码如下:

HardwareToken token = HardwareIdentification.GetPackageSpecificToken(null);
IBuffer hardwareId = token.Id;
IBuffer signature = token.Signature;
IBuffer certificate = token.Certificate;
Run Code Online (Sandbox Code Playgroud)

问题是,如何将IBuffer变成我可以使用的字符串?

Sta*_*ies 12

在通过JS或C++中的实际建议进行了大量搜索后,我终于找到了答案!

private string GetHardwareId()  
{  
    var token = HardwareIdentification.GetPackageSpecificToken(null);  
    var hardwareId = token.Id;  
    var dataReader = Windows.Storage.Streams.DataReader.FromBuffer(hardwareId);  

    byte[] bytes = new byte[hardwareId.Length];  
    dataReader.ReadBytes(bytes);  

    return BitConverter.ToString(bytes);  
}  
Run Code Online (Sandbox Code Playgroud)

谢谢你去看看这个博客 - http://bartwullems.blogspot.co.uk/2012/09/windows-8-uniquely-identifying-device.html

  • 请注意,此ID不是**常量!如果您打开飞行模式,则会获得不同的ID. (6认同)