Я пытался экспортировать и сохранять файлы реестра в произвольном месте, код работает. Однако при указании пути и сохранения функция не работает и реестр не экспортируется. Также не отображается ошибка.Как экспортировать реестр в C#
private static void Export(string exportPath, string registryPath)
{
string path = "\""+ exportPath + "\"";
string key = "\""+ registryPath + "\"";
// string arguments = "/e" + path + " " + key + "";
Process proc = new Process();
try
{
proc.StartInfo.FileName = "regedit.exe";
proc.StartInfo.UseShellExecute = false;
//proc.StartInfo.Arguments = string.Format("/e", path, key);
proc = Process.Start("regedit.exe", "/e" + path + " "+ key + "");
proc.WaitForExit();
}
catch (Exception)
{
proc.Dispose();
}
}
Вы попадаете в исключение, а затем не показываете его и не регистрируете, поэтому я не ожидал, что ошибка не будет показана. Вы могли бы по крайней мере изменить catch на 'Exception e' и вставить' Console.WriteLine (e.Message) 'там. Или, если вы отлаживаете, просто поместите контрольную точку внутри блока catch и посмотрите, что говорит об исключении. –
Я создал объект для исключения и попытался отобразить его в окне сообщения, если он есть. Никаких исключений не показывается –
Не могли бы вы разместить образец для имени ключа реестра, например, используете ли вы «HKLM» или «HKEY_LOCAL_MACHINE», также уверены, что у вас есть достаточно разрешений для доступа к разделам реестра –