c# - Cryptography MachineGuid 问题
问题描述
我想知道如何获得名为 MachineGuid 的 SOFTWARE\Microsoft\Cryptography 密钥。当我在 C# .Net Core Console 应用程序上执行此操作时,结果显示 SOFTWARE\Microsoft\Cryptography 和密钥。
现在我在 C# .Net Framework Windows Form 中进行了尝试,它从那里向我显示 SOFTWARE\Wow6432Node\Microsoft\Cryptography 和密钥 MachineGuid。我的代码没有改变,就在这里。
string keyS = string.Empty;
string x64Result = string.Empty;
string x86Result = string.Empty;
RegistryKey keyBaseX64 = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
RegistryKey keyBaseX86 = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);
RegistryKey keyX64 = keyBaseX64.OpenSubKey("SOFTWARE\Microsoft\Cryptography", RegistryKeyPermissionCheck.ReadSubTree);
RegistryKey keyX86 = keyBaseX86.OpenSubKey("SOFTWARE\Microsoft\Cryptography", RegistryKeyPermissionCheck.ReadSubTree);
object resultObjX64 = keyX64.GetValue("MachineGuid", (object)"default");
object resultObjX86 = keyX86.GetValue("MachineGuid", (object)"default");
keyX64.Close();
keyX86.Close();
keyBaseX64.Close();
keyBaseX86.Close();
keyX64.Dispose();
keyX86.Dispose();
keyBaseX64.Dispose();
keyBaseX86.Dispose();
keyX64 = null;
keyX86 = null;
keyBaseX64 = null;
keyBaseX86 = null;
if (resultObjX64 != null && resultObjX64.ToString() != "default")
{
keyS = resultObjX64.ToString();
}
if (resultObjX86 != null && resultObjX86.ToString() != "default")
{
keyS = resultObjX86.ToString();
}
谁能告诉我为什么以及如何解决这个问题?
解决方案
推荐阅读
- python - 大写字符串和小写字符串的比较?
- javascript - 电子通知 API“点击”事件不起作用
- google-chrome-extension - 是否可以在安装之间以某种方式保留 Web 扩展设置?
- reactjs - 将 React 组件作为其他数据数组的一部分传递?
- powerbi - Power BI - 基于连续平均销售价格的同比百分比变化
- html - 我似乎无法将我从计算机上选择的图像附加到我网站上的轮播上。我的轮播是三张图片
- android - 如何从 Android-Library 覆盖 BuildConfig?
- python - Python 3 无法识别布尔条件
- php - Laravel:帖子类别未更新
- php - 调用 haveibeenpwned API 时出现 401 授权错误