如何以编程方式更改Window的注册表中的值?

mma*_*tax 7 c# registry batch-file

我需要以编程方式将\ HKEY_CURRENT_USER\Software\Intuit\QBWebConnector中的"Level"字符串更改为"Verbose"

做这个的最好方式是什么?C#,bat文件?我之前从未修改过注册表...

谢谢.

Adr*_*ore 5

如果您要更改的注册表项已经在注册表中,则创建*.reg文件的最简单方法是根据需要更改注册表项,如下所示:

  1. 打开Regedit
  2. 在左侧树视图中找到要更改的注册表项正上方的注册表文件夹.
  3. 右键单击该文件夹,然后选择"导出".
  4. 使用记事本打开刚刚导出的文件并删除除第一行("Windows注册表编辑器版本5.00"或类似版本)之外的任何内容,文件夹名称(在您的情况下为[HKEY_CURRENT_USER\Software\Intuit\QBWebConnector])和名称值对对于你想要改变的钥匙
  5. 编辑您想要适当更改的值并保存文件.在您的情况下,您应该得到以下*.reg文件:

Windows注册表编辑器版本5.00

[HKEY_CURRENT_USER\SOFTWARE \忒\ QBWebConnector]

"等级" ="详细"

双击该文件并确认安全警告将在您的注册表上执行更改.

或者,在批处理文件中,您可以通过"REGEDIT/S pathname"静默导入注册表文件

小心注册表,否则你可能会破坏你的Windows安装.


Use*_*910 5

以下是上面没有提到的简单方法:

  1. Reg.exe add - 键入reg /?以查看选项和Reg参考 以获取详细信息.
  2. Regini.exe [scriptfile] - 比.reg文件更强大,您可以删除子项和数据项并设置权限.键入regini /?以查看说明或MSDN文章分发注册表更改以获取详细信息.
  3. ATL :: CRegKey类,SetStringValue()成员,请参阅MSDN.
  4. .NET注册表类SetValue()(C#,C++,F#,VB) - 请参阅MSDN参考.
  5. Win32 API,例如RegSetKeyValue().请参阅注册表函数 参考.


emk*_*emk 2

实际上,更改一堆注册表项的最简单方法是使用*.reg 文件并将其加载到注册表中。但要小心:您通常无法通过电子邮件将这些文件发送给人们,因为它们会被许多邮件服务器过滤。

我们偶尔使用这种技术来传递应用程序配置并在其他机器上测试它们。

我只提到这个非编程解决方案,因为您建议 C# 应用程序或批处理文件都可以,这表明您正在寻找轻量级的东西,并且不太担心细节。