2017-02-24 1 views
0

이전에 C#을 통해 저장된 레지스트리 값을 가져 오려고합니다. 가져올 때마다 Regedit가 실행되지만 값은 변경되지 않습니다. 관리자 권한으로 실행될 때 얻는 유일한 차이점은 상승되지 않은 regedit에 대한 UAC 프롬프트입니다. Regedit는 여전히 실행되는 것처럼 보이지만 .reg 파일을 읽고 가져 오는 것으로 보이지 않습니다.C# 레지스트리 가져 오기

Import: 
     { 

      if (openFileDialog1.ShowDialog() == DialogResult.OK) 
      { 

       string FullPath = openFileDialog1.FileName; 

       MessageBox.Show(Convert.ToString(FullPath)); 

       Process regeditProcess = Process.Start("regedit.exe", "/s" + FullPath); 
       regeditProcess.WaitForExit(); 
      } 



      return; 
     } 
+0

이 FullPath는 확인하십시오. 나는/s 뒤에 공백이 있어야한다고 생각한다. "/ s" – Ethilium

답변

1

FullPath에 공백이 있으면 문제가 발생할 수 있습니다. 대신에 :

Process regeditProcess = Process.Start("regedit.exe", "/s" + FullPath); 

이 시도 :

Process regeditProcess = Process.Start("regedit.exe", "/s \"" + FullPath + "\""); 
+1

Cant가 낮은 rep와 투표를 던지 겠지만 - 이것이 답이었다. 감사! –

관련 문제