2013-01-06 112 views
1

我试过此代码将注册表项导出到文件。注册表导出不起作用

private void BackupRegistry() 
{ 
    var dir = Path.GetDirectoryName(Application.ExecutablePath); 
    Process.Start("reg", string.Format("export HKEY_CURRENT_USER\\Software\\DownloadManager {0}\\idm.reg", dir)); 
} 

但是当我执行该方法时,在可执行目录中没有任何idm.reg。

+0

UAC阻止文件写入到同一目录作为程序的安装位置,您应该enquote的路径。你需要选择一个更好的目录,使用Environment.GetFolderPath()或Path.GetTempFileName()。 –

+0

@HansPassant UAC在我的笔记本电脑中禁用! –

+0

@HansPassant如何在'dir'路径中备份'目录?我试过,但没有奏效! –

回答

2

,如果它包含空格

private void BackupRegistry() 
{ 
    var dir = Path.GetDirectoryName(Application.ExecutablePath); 
    Process.Start("reg", string.Format("export HKEY_CURRENT_USER\\Software\\DownloadManager \"{0}\\idm.reg\"", dir)); 
}