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

2023-11-27

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

HardwareToken token = HardwareIdentification.GetPackageSpecificToken(null);
IBuffer hardwareId = token.Id;
IBuffer signature = token.Signature;
IBuffer certificate = token.Certificate;

问题是,如何将 IBuffer 转换为我可以使用的字符串?


经过大量搜索实际上是 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);  
}  

感谢您访问此博客 -http://bartwullems.blogspot.co.uk/2012/09/windows-8-uniquely-identifying-device.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 如何使用PHPWord将html标签字符串转换为word文档?

    我有一个 HTML 字符串 我想以与 HTML 中相同的格式和样式在 Word 文档中打印 我正在使用PHPWord 当我给出 HTML 字符串时 htmlval h6 div style text align center b OFFER
  • SQL Server 中类似 QUALIFY 的函数

    我的表有 2 列 Emp Name and Emp NR 有可能发生这样的情况Emp Name值有 2 个不同Emp NR values 我想创建一个SELECT仅获取单个值的语句Emp Name and Emp NR 该语句应类似于 Te
  • HttpClient 不返回 Content-Type

    我正在发送请求HttpClient 服务器返回两个我想返回给客户端的标头 我这样运行 using var client new HttpClient var response await client GetAsync DownloadUr
  • .NET Core 3.1 ChangePasswordAsync 内部异常“无法更新身份列”

    我正在将 NET Core Web API 从 2 2 升级到 3 1 当测试时ChangePasswordAsync函数时 我收到以下错误消息 无法更新身份列 UserId 我运行了 SQL 配置文件 可以看到 Identity 列未包含
  • Django:“项目”与“应用程序”

    我有一个相当复杂的 产品 我正准备使用 Django 构建 我将避免在这种情况下使用术语 项目 和 应用程序 因为我不清楚它们在 Django 中的具体含义 项目可以有许多应用程序 应用程序可以在许多项目之间共享 美好的 我没有重新发明博客
  • 如何从nodejs aws s3 getObject回调数据中检索元数据?

    我正在尝试使用 AWS 节点 SDK 将音频块文件上传到 S3 或从 S3 下载音频块文件 我尝试过base64方法 效果很好 但我无法取回我作为上传参数的一部分捆绑的元数据 下面是上传的代码片段以及元信息 var myMetaInfo A
  • kubeadm:主节点从未准备好

    我正在跟进一篇博文使用 kubeadm 设置 kubernetes 集群 因此 我使用桥接网络创建了一个 Virtualbox 然后只需按照说明进行操作即可 我最初只是做了kubeadm init它不起作用 master NotReady
  • Python/Tkinter:动态扩展字体大小以填充框架

    我知道您可以通过以下命令让框架小部件扩展并填充其容器中可用的所有区域 frameName pack fill both expand True 对于文本的字体大小有何作用 目前我的文本是标签小部件的属性 标签小部件的父级是frameName
  • 为什么 GCC 允许在 C++ 中使用 round(),即使带有 ansi 和 pedantic 标志?

    即使使用 ansi and pedantic flags include
  • 未设置设计密钥

    我正在开发一个 Rails 4 应用程序 使用 Active Admin gem 作为管理后端 Active Admin 反过来使用 Devise 进行用户身份验证 现在 当我尝试使用部署应用程序时capistrano在 VPS 服务器上
  • Yii 将过滤器添加到 CGridView 中的虚拟属性并使其可排序

    我有以下型号 User包含列 id user name password user type Admin包含列 id user id full name etc Editor包含 id user id full name etc 列 关系是
  • 浮动 div 而不定义 height 属性

    它看起来很简单 也许是 只是被卡住了 gt 只是为了好玩 现在没有实际需要 我懂了 div class master div class left p LEFT p div div class right p Lorem ipsum dol
  • 将列表转换为字典[重复]

    这个问题在这里已经有答案了 l a b c d e 我想将此列表转换为字典 例如 d a b c d e 所以基本上 偶数将是键 而赔率将是值 我知道我可以用 非Pythonic 的方式来做到这一点 例如带有if语句的for循环 但我相信应
  • IExtensionConfigProvider 未初始化或与 Microsoft.Azure.WebJobs v3 绑定

    我们通过与 IExtensionConfigProvider 的参数绑定在 Azure 函数 netstandard20 上的 v2 中使用依赖项注入 将 Microsoft NET Sdk Functions 从 1 0 13 升级到 1
  • tkinter:键盘中断需要一段时间

    在 Linux 上使用 Tkinter 和 Python 我试图通过使用KeyboardInterrupt例外 但是当我按下它时 有一段时间没有任何反应 最终它 接受 并退出 示例程序 import sys from Tkinter imp
  • R中的负下标错误

    我有以下代码片段 if k lt 100 k gt 0 j k seq 50 150 lt F else j k seq 100 100 lt F 并出现以下错误 j k seq 50 150 即使我已经设置了条件 如果下标可能 为什么我会
  • Cakephp Sqlserver 编码

    这让我难住了 我正在尝试为我的 Sqlserver 连接设置编码 但我尝试的所有操作都失败了 我只得到 错误 使用 Sqlserver 的数据库连接丢失或无法连接 连接 数据库服务器返回此错误 SQLSTATE IMSSP 指定的编码无效
  • 使用 PHP 操作 MySQL 中的 utf8mb4 数据

    这大概是一件很简单的事情 我发誓我一直在网上寻找答案 但还没有找到 由于我的具体情况有点不典型 我最终决定在这里提问 我在 MySQL 中有一些表用于中文程序 它需要能够支持所有可能的汉字 包括没有很好字体支持的罕见汉字 表中的示例单元格可
  • 原始 C++ 指针是第一类对象吗?

    根据维基百科 当一个对象满足以下条件时 它就是一流的 可以存储在变量和数据结构中 可以作为参数传递给子例程 可以作为子例程的结果返回 可以在运行时构造 具有内在身份 独立于任何给定名称 有人曾经告诉我 原始指针不是第一类对象 而像 std
  • 如何在 C# 中获取运行 Windows 8 的计算机的唯一标识符?

    我正在开发一个用 C 编写的 Metro 应用程序 需要一种唯一标识设备的方法 我在文档中找到了 ASHWID 它看起来很棒 建议的代码如下 HardwareToken token HardwareIdentification GetPac