我想用简单的c#应用程序从注册表中读取windows密钥。但是在x64机器上我只接受BBBBB-BBBBB-BBBBB-BBBBB-BBBBB作为关键,这是错误的...我该如何解决这个问题呢?
RegistryKey key = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
RegistryKey subkey = key.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
谢谢!
答案 0 :(得分:3)
根据制作CD密钥恢复软件和Web Site的Windows7Forums thread,产品ID的所有B的存在表示MAK(多次激活密钥)密钥。
来自第一个链接:
B表示cd密钥未存储在您的计算机中,因此无法恢复。这可能是由于以下几个原因造成的:
MAK用于激活;
SLMGR用于从Windows注册表中删除密钥,
或者您正在运行盗版Windows。
来自第二个链接
当管理员设置许多带有PC的PC时,这是一个大问题 批量许可证密钥。因为每个人都可以提取VLC密钥并使用 它用于其他安装。因为这个原因是VLC键 激活后自动从注册表中删除。之后 这个所有关键查找器只显示“不可用”或 BBBBB-BBBBB-BBBBB-BBBBB-BBBBB。使用命令行:slmgr -dli你 可以获得“部分产品密钥” - 产品的最后5个字符 键。此“部分产品密钥”以加密形式保存在 证书文件“tokens.dat” (C:\ WINDOWS \ ServiceProfiles \网络服务\应用程序数据\漫游\微软\ SoftwareProtectionPlatform \的tokens.dat)。 每个担心自己的钥匙都被盗的人也可以手动删除 注册表中的产品密钥与此命令行:slmgr -cpky (cpky = clear product key =从注册表中删除产品密钥)
答案 1 :(得分:0)
快速网络搜索显示许多人遇到同样的问题。如果DigitalProductID都是B,那么一个解决方案似乎是获取DigitalProductID4值。