本文實例講述了C++寫注冊表實現開機啟動的方法。分享給大家供大家參考。
具體實現方法如下:
void SelfRun(LPSTR lpszValueName) //lpszValueName 顯示的名稱  
{  
    LPCTSTR lpSubKey = "Software//Microsoft//Windows//CurrentVersion//Run";  
    HKEY hKey;  
    DWORD dwDisposition = REG_OPENED_EXISTING_KEY;  
    //打開注冊表項  
    LONG lRet = ::RegCreateKeyEx(HKEY_LOCAL_MACHINE, lpSubKey, NULL, NULL, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition);  
    //LONG lRet = ::RegCreateKeyA(HKEY_LOCAL_MACHINE, lpSubKey, &hKey);  
    if ( ERROR_SUCCESS != lRet)  
    {  
        return;  
    }  
    char szModuleName[MAX_PATH]={0};  
    ::GetModuleFileNameA(NULL, szModuleName, MAX_PATH); //得到當前程序路徑  
  
    lRet = ::RegSetValueEx(hKey, lpszValueName, NULL, REG_SZ, (BYTE*)szModuleName, strlen(szModuleName)+1); //設置注冊表項  
    if ( ERROR_SUCCESS != lRet)  
    {  
        return;  
    }  
  
    ::RegCloseKey(hKey); //與RegCreateKeyEx配對寫  
  
}  
int main(int argc, char *argv[])  
{  
    //RecursiveDelete("C://20_128//");  
    SelfRun("runModel");  
    return 0;  
}
希望本文所述對大家的C++程序設計有所幫助。