我正在开发一个应用程序,它将为将用于加密各种配置数据的设备获取X.509证书。理想情况下,此证书将包含可与采购记录相关联的信息。有没有办法从通用Windows应用程序读取设备序列号或IMEI?
答案 0 :(得分:5)
对于一般的UWP,要获得系统唯一ID(不是IMEI),您可能需要查看这些类:
Windows.System.Profile.SystemIdentification
和
Windows.System.Profile.HardwareIdentification
例如:您可以使用以下方式查询唯一的设备ID:
var buffer = SystemIdentification.GetSystemIdForPublisher();
根据msdn发表以下评论:
该ID具有以下特征:
- 每个系统都是独一无二的
- 可以离线创建
- 坚持重启,操作系统升级/重新安装等等
- 坚持硬件修改
- 在OneCore中可用
- 出厂时可用于许可目的
请注意,返回类型是IBuffer
并生成一些原始(非字符串式可读)字节,因此您可能需要对其进行序列化。
更多信息
和
答案 1 :(得分:1)
使用电话号码信息无法获取另一部手机的 IMEI ,但您可以获得设备唯一ID 。
using Microsoft.Phone.Info;
object uniqueId;
var hexString = string.Empty;
if (DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out uniqueId))
hexString = BitConverter.ToString((byte[])uniqueId).Replace("-", string.Empty);
MessageBox.Show("myDeviceID:" + hexString);