我正在尝试使用我的 C# 应用程序写入注册表。
我正在使用这里给出的答案:使用 C# 将值写入注册表 https://stackoverflow.com/questions/1660870/writing-values-to-the-registry-with-c#answer-1660938
但是由于某种原因,该密钥没有添加到注册表中。
我正在使用以下代码:
string Timestamp = DateTime.Now.ToString("dd-MM-yyyy");
string key = "HKEY_LOCAL_MACHINE\\SOFTWARE\\"+Application.ProductName+"\\"+Application.ProductVersion;
string valueName = "Trial Period";
Microsoft.Win32.Registry.SetValue(key, valueName, Timestamp, Microsoft.Win32.RegistryValueKind.String);
The Application.name
and Application.version
“文件夹”尚不存在。
我必须先创建它们吗?
另外,我正在 64b Win 版本上测试它,所以我想如果我想检查注册表中添加的密钥,我必须专门检查 32 位注册表:C:\Windows\SysWOW64\regedit.exe 不是吗? ?
首先,如果您想在 LocalMachine 下编辑密钥,您必须在管理员权限下运行您的应用程序(最好使用 CurrentUser 它更安全或在安装程序中创建密钥)。您也必须在编辑模式下打开密钥(OpenSubKey 方法)才能添加新的子密钥。我检查了代码并且它有效。这是代码。
RegistryKey key = Registry.LocalMachine.OpenSubKey("Software",true);
key.CreateSubKey("AppName");
key = key.OpenSubKey("AppName", true);
key.CreateSubKey("AppVersion");
key = key.OpenSubKey("AppVersion", true);
key.SetValue("yourkey", "yourvalue");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)