2009-05-18 3 views
5

응용 프로그램 설정이 HKEY_LOCAL_MACHINE \ SOFTWARE \ MyCompany 분기 아래에 저장되어 있습니다. 설정이 다른 사용자에게 동일해야하며 그 이유는 설정이 HKEY_CURRENT_USER에 있지 않은 이유입니다. 레지스트리 값이 인 경우 응용 프로그램을 사용하는 동안 만 읽습니다.Vista에서 레지스트리 분기 HKEY_LOCAL_MACHINE을 읽는 방법?

이제 Windows Vista에서 인해 UAC에 당신은 더 이상 레지스트리 값을 읽기 위해 다음 코드를 사용할 수 없습니다

RegistryKey myKey = Registry.LocalMachine.CreateSubKey 
     ("SOFTWARE\\MyCompany\\MyAppName"); 

어떻게 내 코드 (C#을)에 LocalMachine 지점에서 값을 읽을 수 있습니까?

답변

7

문제는 읽지 않은 키를 만들려고한다는 것입니다. 적절한 API를 사용한다면 Vista에서 HKLM의 값을 읽을 수 있어야합니다.

RegistryKey myKey = Registry.LocalMachine.OpenSubKey(
    @"Software\MyCompany\MyAppName", 
    false); 

위의 false 매개 변수에 유의하십시오. 이것은 읽기 전용 모드로 키를 여는 효과가 있습니다. 이것은 OpenSubKey의 기본 설정이지만 명시 적으로 선호합니다 (주로 기본값을 기억할 수 없기 때문에).

관련 문제