You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:MAUI .NET Windows应用如何获取唯一设备ID

.NET MAUI Windows 平台唯一设备ID获取方案
  • 核心实现依赖Windows官方APIWindows.System.Profile.HardwareIdentification,该API生成的标识基于设备硬件组件,在硬件无重大变更时保持稳定,是Windows平台推荐的应用级唯一标识方案。

  • 代码实现(使用条件编译隔离Windows平台逻辑):

#if WINDOWS
using Windows.System.Profile;
using Windows.Storage.Streams;
#endif

public string GetUniqueDeviceId()
{
#if WINDOWS
    // 获取硬件标识令牌
    var hardwareToken = HardwareIdentification.GetPackageSpecificToken(null);
    var hardwareIdBuffer = hardwareToken.Id;
    
    // 将缓冲区转换为字节数组
    var dataReader = DataReader.FromBuffer(hardwareIdBuffer);
    byte[] hardwareIdBytes = new byte[hardwareIdBuffer.Length];
    dataReader.ReadBytes(hardwareIdBytes);
    
    // 转换为无连字符的十六进制字符串
    return BitConverter.ToString(hardwareIdBytes).Replace("-", string.Empty);
#else
    return string.Empty;
#endif
}
  • 关键说明:
    • 该ID是应用包专属的,同一设备上不同包名的应用会得到不同标识,Windows出于隐私保护不提供全局设备唯一ID,这是最合规的替代方案。
    • 当设备关键硬件(如主板、系统存储)更换时,标识会发生变化。
    • 调用此API无需额外申请权限,MAUI Windows应用默认支持。

内容的提问来源于stack exchange,提问作者Rob White

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 12:35:54