MFC byDreamy postedJul 26, 2011

레지스트리 쓰기, 읽기 함수 정리

?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

+ - Up Down Comment Print
출처: http://whoim.tistory.com/55

레지스트리 키 생성
  1. //레지스트리 키 생성   
  2. int ChdPropertyApp::CreateReg(HKEY key, CString strSubKey)   
  3. {   
  4.     HKEY hKey;   
  5.     char szSubKey[DEF_REGKEY_SIZE] = {0x00,};   
  6.   
  7.     strncpy_s( szSubKey, _countof(szSubKey), strSubKey, strSubKey.GetLength() );   
  8.   
  9.     if(::RegCreateKey(key, szSubKey, &hKey) != ERROR_SUCCESS){   
  10.             TRACE("레지스트리에 키를 생성하지 못하였습니다.\n");   
  11.         return FALSE;   
  12.     }   
  13.     return TRUE;   
  14. }  

레지스트리 키 삭제
  1. //레지스트리 키 삭제   
  2. int ChdPropertyApp::DeleteReg(HKEY key, CString strSubKey)   
  3. {   
  4.     char szSubKey[DEF_REGKEY_SIZE] = {0x00,};   
  5.     strncpy_s( szSubKey, _countof(szSubKey), strSubKey, strSubKey.GetLength() );   
  6.   
  7.     if(::RegDeleteKey(key, szSubKey) != ERROR_SUCCESS){   
  8.         TRACE("레지스트리에 키를 생성하지 못하였습니다.");   
  9.         return FALSE;   
  10.     }   
  11.     return TRUE;   
  12. }  

레지스트리 값 읽기
  1. //레지스트리 값 읽기   
  2. int ChdPropertyApp::ReadReg(HKEY key, CString strSubKey, CString strKey, CString &strVal)   
  3. {   
  4.     HKEY    hKey;   
  5.     char szSubKey[DEF_REGKEY_SIZE] = {0x00,};   
  6.     char    szKey  [DEF_REGKEY_SIZE] = {0x00,};    
  7.     char    szData [DEF_REGDATA_SIZE] = {0x00,};    
  8.     DWORD   dwSize = sizeof(szData);   
  9.   
  10.     strncpy_s( szSubKey, _countof(szSubKey), strSubKey, strSubKey.GetLength() );   
  11.     strncpy_s( szKey, _countof(szKey), strKey, strKey.GetLength() );   
  12.   
  13.     // if( RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Reginfo\\Config", 0, KEY_ALL_ACCESS, &hKey) != ERROR_SUCCESS){   
  14.     if( RegOpenKeyEx(key, szSubKey, 0, KEY_ALL_ACCESS, &hKey) != ERROR_SUCCESS){   
  15.             TRACE("레지스트리 키 오픈 실패");   
  16.         return FALSE;   
  17.     }   
  18.   
  19.     if( RegQueryValueEx(hKey, szKey, 0, NULL, (LPBYTE)szData, &dwSize) != ERROR_SUCCESS ){   
  20.             TRACE("레지스트리 값 읽기 실패");   
  21.          return FALSE;   
  22.     }   
  23.   
  24.     strVal = szData;   
  25.     RegCloseKey( hKey );   
  26.   
  27.     return TRUE;   
  28. }  

레지스트리 값쓰기
  1. //레지스트리 값쓰기   
  2. int ChdPropertyApp::WriteReg(HKEY key, CString strSubKey, CString strKey, CString strVal, DWORD dwType)   
  3. {   
  4.     HKEY hKey;   
  5.     char szSubKey[DEF_REGKEY_SIZE] = {0x00,};   
  6.     char    szKey  [DEF_REGKEY_SIZE] = {0x00,};   
  7.     char    szData [DEF_REGDATA_SIZE] = {0x00,};    
  8.     DWORD   dwData = strVal.GetLength();   
  9.   
  10.     strncpy_s( szSubKey, _countof(szSubKey), strSubKey, strSubKey.GetLength() );   
  11.     strncpy_s( szKey,  _countof(szKey),  strKey, strKey.GetLength() );   
  12.     strncpy_s( szData, _countof(szData), strVal, strVal.GetLength() );   
  13.   
  14.     // if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Reginfo\\Config", 0, KEY_ALL_ACCESS, &hKey) != ERROR_SUCCESS){   
  15.     if(RegOpenKeyEx(key, szSubKey, 0, KEY_ALL_ACCESS, &hKey) != ERROR_SUCCESS){   
  16.             TRACE("레지스트리 키 오픈 실패");   
  17.         return FALSE;   
  18.     }   
  19.   
  20.     if(RegSetValueEx (hKey, szKey, 0, dwType, (CONST BYTE*)(LPCTSTR)szData, dwData + 1) != ERROR_SUCCESS){   
  21.             TRACE("레지스트리 값 쓰기 실패");   
  22.         return FALSE;   
  23.     }   
  24.     return TRUE;   
  25. }   
  26. <SPAN id=tx_marker_caret></SPAN>  

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5