我想用一个简单的c应用程序从注册表中读取windows键。但是在x64机器上,我只收到bbbbb-bbbbb-bbbbb-bbbbbbb-bbbbb作为密钥,这是错误的……我怎样才能解决这个问题?

RegistryKey key = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
RegistryKey subkey = key.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");

谢谢!

最佳答案

根据制作cd密钥恢复软件的Web SiteWindows7Forums thread,产品id的所有b的存在表示mak(多重激活密钥)密钥。
从第一个链接:
B表示CD密钥未存储在计算机中,因此无法恢复。这可能有几个原因:
用mak活化;
SLMGR用于从Windows注册表中删除该项,
或者你运行的是盗版的windows。
从第二个链接
当一个管理员用一个
批量许可证密钥。因为每个人都可以提取VLC密钥并使用
用于其他安装。因为这个原因VLC密钥是
激活后自动从注册表中删除。之后
此全钥匙查找器仅显示“不可用”或
BBBBB—BBBBB—BBBBB—BBBBB—BBBBB。命令行:slmgr–dli you
可以获得“部分产品密钥”-产品的最后5个字符
关键。此“部分产品密钥”以加密形式保存在
证书文件“tokens.dat”
(C:\ Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform\Tokens.dat)。
每个担心钥匙被盗的人也可以手动删除
注册表中具有以下命令行的产品密钥:slmgr–cpky
(cpky=清除产品密钥=从注册表中删除产品密钥)

关于c# - 在64位计算机上读取Windows Key时出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11593413/

10-11 08:28