我正在尝试获取有关运行我的应用程序的计算机/平板电脑的信息。这是出于分析目的。具体来说,我想知道制造商和型号。
理想情况下,我会得到如下信息:
Manufacturer: Toshiba
Model: Satellite S850-BT3N22
但我会拿走我能得到的任何东西。我花了一些时间尝试自己的解决方案以及在 SO 上找到它,但我无法找到解决方案。
我花了一些时间试图得到这个:
var hardwareToken = Windows.System.Profile.HardwareIdentification.getPackageSpecificToken(null);
var idReader = Windows.Storage.Streams.DataReader.fromBuffer(hardwareToken.id);
var idArray = new Array(hardwareToken.id.length);
idReader.readBytes(idArray);
所以现在 idArray 是一个整数数组。我试过将此字节数组转换为字符串,但它会将其转换为一堆看起来像汉字的东西。我不认为这就是这个 hardwareToken.id 的目的。以下是 idReader 数组的 javascript 控制台的示例输出:
idArray.toString();
"3,0,26,139,5,0,90,224,6,0,1,0,4,0,246,50,1,0,248,181,2,0,80,124,9,0,250,137"
我尝试的下一件事是在此处从 msdn 模拟“设备枚举示例”:http: //code.msdn.microsoft.com/windowsapps/Device-Enumeration-Sample-a6e45169
从这里我可以看到我的网络上的几个不同的设备,我可以得到 System.ItemNameDisplay 和 System.Devices.ModelName,但是我看不到区分哪个设备是计算机的方法。它提供了所有的 Pnp 设备。
如果有人可以帮助我获得这些信息,我将不胜感激。