[Registry] 읽기 / 쓰기 / 삭제 (펌)
2016. 3. 6. 23:30ㆍIT-개발/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;
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;
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);
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();
RegKey.Create(HKEY_LOCAL_MACHINE,"SOFTWARE\\test");
RegKey.SetValue("저장할 변수명", "test");
RegKey.Close();
활용할 일이 많을꺼 같아서~~ ^_^
'IT-개발 > winapi 및 MFC' 카테고리의 다른 글
[UI / 권한] Drag & Drop.. 않되는 UI 구조... (0) | 2016.03.07 |
---|---|
[MFC-구조] (펌) MFC :: MainFrame,Doc,View의 포인터 얻기 (0) | 2016.03.06 |
[Registry] 지정된 레지스트리 Key의 각종정보알기 Enumerating (0) | 2016.03.06 |
[Registry] 유용한 Registry 관련 api - 레지스트 특정키이하 모든 Data Copy (0) | 2016.03.06 |
(펌: Enabling and Disabling Privileges) (0) | 2016.03.06 |