유용한 정보

[C#] 레지스트리 읽기/쓰기

DevReff 2025. 4. 17. 23:03
728x90
728x90
SMALL

 

1. 레지스트리 하위 키 생성(CreateSubKey)

    생성하려는 키가 'Hi'라고 했을 때
    RegistryKey reg = Registry.LocalMachine.CreateSubKey("SOFTWARE").CreateSubKey("Hi");
 
    실제 생성되는 키의 위치는 아래와 같은데 윈도우가 32비트 또는 64비트인지 따라 다르다.

  • 32bit : HKEY_LOCAL_MACHINE\SOFTWARE\
  • 64bit : HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\

반응형

 

2. 레지스트리 키에 값 쓰기(SetValue)

방법1)
    RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Hi", true);
    reg.SetValue("test", DateTime.Now.ToString(" yyyy-MM-dd "));

방법2)
    RegistryKey reg = Registry.LocalMachine.CreateSubKey("SOFTWARE").CreateSubKey("Hi");
    reg.SetValue("test", DateTime.Now.ToString("yyyy-MM-dd"));
 
방법1에서 OpenSubKey(KeyPath)만 사용하면 '레지스트리 키에 쓸 수 없습니다.'라는 오류 메시지가 발생한다.
그렇기 때문에 OpenSubKey(KeyPath, 쓰기가능여부)를 사용하고 두번째 매개변수의 값을 true로 한다.

 
 

3. 레지스트리 키에 값 가져오기(GetValue)

    RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Hi");
    Debug.WriteLine(reg.GetValue("test").ToString());
    

4. 레지스트리 키에 값 삭제(DeleteValue)

    RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Hi", true);
    reg.DeleteValue("test");
 
    OpenSubKey(KeyPath)만 사용하면 '레지스트리 키에 쓸 수 없습니다.'라는 오류 메시지가 발생한다.
   이것은 쓰기 권한이 없기 때문에 나타나는 현상이므로 OpenSubKey의 두번째 매개변수를 true로 설정한다.

 

 

※ 주의 : 레지스트리에 접근하려면 프로그램을 관리자권한으로 실행해야한다.

728x90
728x90
LIST

'유용한 정보' 카테고리의 다른 글

[C#] 기간 선택하기  (0) 2025.04.19
[C#] 관리자 권한으로 실행하게 만들기  (0) 2025.04.18
[C#] Get MAC address  (0) 2025.04.16
[C#] Import Excel File To DataGridView  (0) 2025.04.16
[C#] Excel to PrintPreview  (0) 2025.04.16