2016-08-16 6 views
2

CurrentUser에 대한 키 생성/삭제에 문제가 없었지만 LocalMachine을 시도 할 때마다 아무 일도 일어나지 않습니다. app.manifest에 ("requestedExecutionLevel level="requireAdministrator" uiAccess="false")을 추가했습니다. 내가 놓친 게 있니? 이 코드가 너무 길어서 포스터가 처음이라면 알려주세요. 위의 설명에서 언급 한 바와 같이레지스트리 키가 생성되지 않았습니다

private void button1_Click(object sender, EventArgs e) 
    { 
     RegistryKey rKey; 
     rKey = Registry.LocalMachine.OpenSubKey("Software", true); 
     rKey.DeleteSubKey("test", true); 
     rKey.Close();    
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     RegistryKey rKey; 
     rKey = Registry.LocalMachine.OpenSubKey("SOFTWARE", true); 
     rKey.CreateSubKey("test"); 
     rKey.Close(); 
    } 
+0

만약 당신이 디버깅 도움을 찾고 있다면, 작동하는 방법과 작동하지 않는 것에 대한 설명이 아닌 작업 방법을 보는 것이 도움이 될 것입니다. (예를 들어 어디서나 'null'을 확인하지는 않습니다.) 야생 추측 - [64 비트 문제] (http://stackoverflow.com/q/1268715/1997232). – Sinatr

+0

합리적으로 보이는 64 비트 솔루션을 사용해 보겠습니다. 그러나 작동 방법은 LocalMachine을 CurrentUser로 바꿉니다. – user6722600

+0

키가 있는지 확실합니까? – Steve

답변

0

은 64 비트 윈도우에서 32 비트 응용 프로그램 호환성을 위해 HKLM\SOFTWARE\Wow6432Node 내부 HKLM\SOFTWARE 키를 가상화.

실제로 키를 HKLM\SOFTWARE 안에 생성하려면 응용 프로그램을 64 비트로 다시 빌드해야합니다.

그러나 실제로 키를로드하고 저장할 수있는 한 이 실제로 인 키가 저장된 위치는 중요하지 않습니다.

+0

마지막 게시물을 무시합니다. 그냥 바보가되어 뭔가를 확인하는 것을 잊었습니다. 모든 게시물을 투표에 표시하고 답변 목록에 추가하십시오. 도움을 주셔서 대단히 감사합니다! – user6722600

관련 문제