[Registry] 읽기 / 쓰기 / 삭제 (펌)

2016. 3. 6. 23:30IT-개발/winapi 및 MFC

반응형

(펌... )

레지스트리 읽기 / 쓰기 / 삭제 기본 사용 코드


레지스트리 읽기

// 레지스트리 읽기 //
LONG lResult;
    HKEY hKey;
    DWORD dwType;
    DWORD dwBytes=100;
    char buffer[100];

    // open Regstry Key
    lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
                           "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"
                           0, KEY_ALL_ACCESS, &hKey);
    if(lResult != ERROR_SUCCESS)
    {
  AfxMessageBox("Register Open Error");
    } 

    // Read Regstry Key
    lResult=RegQueryValueEx(hKey, "abc"0, &dwType, (LPBYTE)buffer, &dwBytes); 
    if(lResult == ERROR_SUCCESS)
  AfxMessageBox(buffer);
 else   
  AfxMessageBox("Register Read Error");
  
 RegCloseKey(hKey);



레지스트리 추가

// 레지스트리 추가 //
LONG lResult;
 char buffer[100];
    HKEY hKey;
    DWORD dwDesc;
 char *path = "c:\\winnt\\system32\\notepad.exe";  // 노트 패드 경로

 // 레지스트리 열고
 RegOpenKeyEx(HKEY_LOCAL_MACHINE,
              "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"
              0, KEY_ALL_ACCESS, &hKey);

    // Set Registry Key & Value
 lResult = RegCreateKeyEx(HKEY_LOCAL_MACHINE, 
                          "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
                          0, buffer, 
                          REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL
                          &hKey, &dwDesc);
    if(lResult == ERROR_SUCCESS) 
 {
        RegSetValueEx(hKey, "abc"0, REG_SZ, (BYTE*)path, strlen(path));
 }

 //레지스트리 닫고
 RegCloseKey(hKey);


레지스트리 삭제

// 레지스트리 삭제//
 LONG lResult;
    HKEY hKey;
    DWORD dwBytes=100;
 CString str = "abc";

    // open Regstry Key
    lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
                           "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"
                           0, KEY_ALL_ACCESS, &hKey);
    if(lResult != ERROR_SUCCESS)
    {
  AfxMessageBox("Register Open Error");
    } 


 lResult = RegDeleteValue(hKey, str);  // 삭제

 if (lResult == ERROR_SUCCESS) 
  AfxMessageBox("레지스터 삭제 성공");
    else 
  AfxMessageBox("실패당...ㅠㅠ");

 RegCloseKey(hKey);


레지스트리 쓰기

CRegKey RegKey;

RegKey.Create(HKEY_LOCAL_MACHINE,"SOFTWARE\\test"); 
RegKey.SetValue("저장할 변수명""test");
RegKey.Close();


활용할 일이 많을꺼 같아서~~ ^_^