댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
MFC
2006.04.14 14:54
시작프로그램 레지스트리에 등록/해제 함수
조회 수 48158 댓글 0
[소스긁기-1] 시작프로그램 레지스트리에 등록/해제 함수 김은혁 / eunsiri00
안녕하십니까? 김은혁입니다. 앞으로 계속 시간나는대로 [소스긁기] 시리즈 이어나가겠습니다. 우선 첫번째 [소스긁기]는 시작프로그램 레지스트리에 등록/해제 하는 함수입니다. 다들 아시겠지만 그래도 급할 땐 소스 긁어서 사용하세요. ^^ ////////////////////////////////////////////////////////// // Function Name // SetRegistyStartProgram // // Parameters // bAutoExec[in] : TRUE이면 시작프로그램 레지스트리에 등록, FALSE면 해제 // lpValueName[in] : 설정할 값의 이름 // lpExeFileName[in] : 실행시킬 프로그램 Full 경로 (NULL 일수 있음, 단, bAutoExec값이 FALSE이여야 함) // // Return Values // 시작프로그램 레지스트리에 등록/헤제 성공이면 TRUE, 실패면 FALSE // static BOOL SetRegistyStartProgram(BOOL bAutoExec, LPCSTR lpValueName, LPCSTR lpExeFileName) { HKEY hKey; LONG lRes; if(bAutoExec) { if(lpValueName == NULL || lpExeFileName == NULL) return FALSE; if(RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0L,KEY_WRITE, &hKey ) != ERROR_SUCCESS) return FALSE; lRes = RegSetValueEx(hKey, lpValueName, 0, REG_SZ, (BYTE*)lpExeFileName, lstrlen(lpExeFileName)); RegCloseKey(hKey); if(lRes != ERROR_SUCCESS) return FALSE; } else { if(RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_ALL_ACCESS, &hKey) != ERROR_SUCCESS) return FALSE; lRes = RegDeleteValue(hKey, lpValueName); RegCloseKey(hKey); if(lRes != ERROR_SUCCESS) return FALSE; } return TRUE; } ex > SetRegistyStartProgram(TRUE, "AAA", "C:\\Test\\A.exe"); // 등록 SetRegistyStartProgram(FALSE, "AAA", NULL); // 해제 Dreamy의 코드 스크랩내가 모으고 내가 보는
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5