ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자동 시작
    Platform/Environment 2009. 11. 13. 18:08
    //////////////////////////////////////////////////////////
    //  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);    // 해제


    참조 사이트:
Designed by Tistory.