C++ Windos寫開機啓動項

//添加以下代碼
HKEY hKey;   
//找到系統的啓動項   
LPCTSTR lpRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";   
//打開啓動項Key   
long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);   //win7下
//long lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpRun, 0,KEY_WRITE, &hKey);   //xp
if(lRet == ERROR_SUCCESS)   
{   
char pFileName[MAX_PATH] ={0};  //得到程序自身的全路徑 
GetModuleFileName(NULL,pFileName,MAX_PATH);
lRet = RegSetValueEx(hKey, "KNTITMS", 0, REG_SZ, (BYTE *)pFileName, strlen(pFileName)+1); 


//添加一個子Key,並設置值 // 下面的"test"是寫入註冊表中的名稱 
RegCloseKey(hKey); //關閉註冊表   
if(lRet != ERROR_SUCCESS)
{   
AfxMessageBox("系統參數錯誤,不能完成開機啓動設置");   
}   
else  
{  
AfxMessageBox("打開開機啓動成功");   
}   
}   




刪除開機啓動項
//添加以下代碼
HKEY hKey;   
//找到系統的啓動項   
LPCTSTR lpRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";   
//打開啓動項Key   
long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);   
//long lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpRun, 0,KEY_WRITE, &hKey);   
if(lRet == ERROR_SUCCESS)   
{   
char pFileName[MAX_PATH] ={0};  //得到程序自身的全路徑 
GetModuleFileName(NULL,pFileName,MAX_PATH);
lRet = RegSetValueEx(hKey, "KNTITMS", 0, REG_SZ, (BYTE *)pFileName, strlen(pFileName)+1); 


//添加一個子Key,並設置值 // 下面的"test"是寫入註冊表中的名稱 
RegCloseKey(hKey); //關閉註冊表   
if(lRet != ERROR_SUCCESS)
{   
AfxMessageBox("系統參數錯誤,不能完成開機啓動設置");   
}   
else  
{  
AfxMessageBox("打開開機啓動成功");   
}   
}   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章