Develop

[c++] 레지스트리 편집하는 부분..ㅡㅡ;

by hooni posted Apr 23, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

# 실행 화면..

stop1.gif


사용하기 앞서..

레지스트리 편집기를 실행하려면..

시작 -> 실행 -> regedit

라고 입력하면 레지스트리 창이 뜹니다.

레지스트리 키를 열 때 RegOpenKeyEx함수를 사용해야 하고,

이 함수를 호출할 때 KEY_SET_VALUE 권한을 명시해야 합니다.

  

프로그램 설명..  

레지스트리에 등록된 Internet Explorer 시작페이지 경로를 얻어서 Edit에 출력하고, 

Edit에 직접 입력하여 해당 시작페이지 경로를 변경 할 수도 있는 예제입니다.


소스 사용법..

HKEY_CURRENT_USER 항목에 속한

SoftwareMicrosoftInternet ExplorerMain 항목을 KEY_QUERY_VALUE 속성으로 열어 키 값을 얻어, 현재 시작페이지 경로를 Edit에 출력하는 소스입니다.

HKEY h_key;
int ret = RegOpenKeyEx(HKEY_CURRENT_USER,
    "SoftwareMicrosoftInternet ExplorerMain", 0,
    KEY_QUERY_VALUE, &h_key);
 
if(ret == ERROR_SUCCESS){
    DWORD data_size;
    RegQueryValueEx(h_key, "Start Page", 0, NULL, NULL, &data_size);
     
    if(data_size != 0){
        char *p_url_data = new char[data_size];
        RegQueryValueEx(h_key,
            "Start Page", 0, NULL, (LPBYTE)p_url_data, &data_size);
 
        SetDlgItemText(IDC_CURRENT_START_PAGE_EDIT, p_url_data);
        delete[] p_url_data;
    }
}
 
if(h_key != NULL) RegCloseKey(h_key);


이외 시작 페이지변경이나 웹브라우져를 실행하려면 소스파일을 다운받아 참조하세요.


주의 사항..

Windows95/98/Me에서는 레지스트리 서브키나 값의 이름은 그 문자열의 길이가 255를 초과할수 없으므로 주의하세요.


참고 사항..

예제에 사용된 레지스트리 관련 함수에 대해서 좀더 자세한 정보를 원하시면..

팁앤테크 -> MFC/API 가이드 -> (RegOpenKeyEx, RegQueryValueEx, RegSetValueEx)

게시물을 참조하시기 바랍니다.


아래는 각 게시물에 따른 링크입니다.

RegOpenKeyEx : http://www.tipssoft.com/bulletin/tb.php/FAQ/8

RegQueryValueEx : http://www.tipssoft.com/bulletin/tb.php/FAQ/10

RegSetValueEx : http://www.tipssoft.com/bulletin/tb.php/FAQ/11