我目前正在使用Microsoft.Win32.Registry
函数来创建,删除,设置/获取值等。有没有办法将包含应用程序设置的某个键“导出”到.REG文件?
答案 0 :(得分:4)
你可以p / pinvoke RegSaveKeyEx
。
答案 1 :(得分:1)
我发现在尝试创建有效的REG文件时,您需要遵循以下规则:
你的文件必须包含这个作为第一行:
" Windows注册表编辑器版本5.00"
在下一行添加括号
添加相应的名称/值对,每个对在其自己的行上。格式为:
"ValueName" = "Value"
(SZ类型)"ValueName" = dword:00000000
(双打类型 - 总是8位数) BINARY
,MULTI_SZ
,EXPAND_SZ
...由于我没有与他们合作,我无法发表评论。
请注意,我只使用它来导出/修改字符串(SZ)值;这是一个很好的小帮手,可以输出单个值:
private void ExportRegistryKey(string RegistryKeyPath, string ValueName, string Value, string ExportFileName = "ExportedRegValue.reg")
{
string regTemplate = @"Windows Registry Editor Version 5.00\r\n[{0}]\r\n""{1}""=""{2}""";
string regFileContent = string.Format(regTemplate, RegistryKeyPath, ValueName, Value);
File.WriteAllText(ExportFileName, regFileContent);
return true;
}
如果您需要导出多个值,您可以更改函数以获取字典,使用值名称作为键,将实际值作为值,然后在追加regFileContent
变量时循环。 / p>
答案 2 :(得分:0)
另一种方法可能是使用PowerShell。您也可以从c#运行ps脚本。 Here是导出到.reg文件的ps脚本的示例。