출처: http://whoim.tistory.com/55레지스트리 키 생성
-
- int ChdPropertyApp::CreateReg(HKEY key, CString strSubKey)
- {
- HKEY hKey;
- char szSubKey[DEF_REGKEY_SIZE] = {0x00,};
-
- strncpy_s( szSubKey, _countof(szSubKey), strSubKey, strSubKey.GetLength() );
-
- if(::RegCreateKey(key, szSubKey, &hKey) != ERROR_SUCCESS){
- TRACE("레지스트리에 키를 생성하지 못하였습니다.\n");
- return FALSE;
- }
- return TRUE;
- }
레지스트리 키 삭제
-
- int ChdPropertyApp::DeleteReg(HKEY key, CString strSubKey)
- {
- char szSubKey[DEF_REGKEY_SIZE] = {0x00,};
- strncpy_s( szSubKey, _countof(szSubKey), strSubKey, strSubKey.GetLength() );
-
- if(::RegDeleteKey(key, szSubKey) != ERROR_SUCCESS){
- TRACE("레지스트리에 키를 생성하지 못하였습니다.");
- return FALSE;
- }
- return TRUE;
- }
레지스트리 값 읽기
-
- int ChdPropertyApp::ReadReg(HKEY key, CString strSubKey, CString strKey, CString &strVal)
- {
- HKEY hKey;
- char szSubKey[DEF_REGKEY_SIZE] = {0x00,};
- char szKey [DEF_REGKEY_SIZE] = {0x00,};
- char szData [DEF_REGDATA_SIZE] = {0x00,};
- DWORD dwSize = sizeof(szData);
-
- strncpy_s( szSubKey, _countof(szSubKey), strSubKey, strSubKey.GetLength() );
- strncpy_s( szKey, _countof(szKey), strKey, strKey.GetLength() );
-
-
- if( RegOpenKeyEx(key, szSubKey, 0, KEY_ALL_ACCESS, &hKey) != ERROR_SUCCESS){
- TRACE("레지스트리 키 오픈 실패");
- return FALSE;
- }
-
- if( RegQueryValueEx(hKey, szKey, 0, NULL, (LPBYTE)szData, &dwSize) != ERROR_SUCCESS ){
- TRACE("레지스트리 값 읽기 실패");
- return FALSE;
- }
-
- strVal = szData;
- RegCloseKey( hKey );
-
- return TRUE;
- }
레지스트리 값쓰기
-
- int ChdPropertyApp::WriteReg(HKEY key, CString strSubKey, CString strKey, CString strVal, DWORD dwType)
- {
- HKEY hKey;
- char szSubKey[DEF_REGKEY_SIZE] = {0x00,};
- char szKey [DEF_REGKEY_SIZE] = {0x00,};
- char szData [DEF_REGDATA_SIZE] = {0x00,};
- DWORD dwData = strVal.GetLength();
-
- strncpy_s( szSubKey, _countof(szSubKey), strSubKey, strSubKey.GetLength() );
- strncpy_s( szKey, _countof(szKey), strKey, strKey.GetLength() );
- strncpy_s( szData, _countof(szData), strVal, strVal.GetLength() );
-
-
- if(RegOpenKeyEx(key, szSubKey, 0, KEY_ALL_ACCESS, &hKey) != ERROR_SUCCESS){
- TRACE("레지스트리 키 오픈 실패");
- return FALSE;
- }
-
- if(RegSetValueEx (hKey, szKey, 0, dwType, (CONST BYTE*)(LPCTSTR)szData, dwData + 1) != ERROR_SUCCESS){
- TRACE("레지스트리 값 쓰기 실패");
- return FALSE;
- }
- return TRUE;
- }
- <SPAN id=tx_marker_caret></SPAN>
|