C++寫注冊表項實例
更新時間:2014年10月14日 12:07:23 投稿:shichen2014
這篇文章主要介紹了C++寫注冊表項實例,可實現(xiàn)開機啟動的功能,是進行Windows桌面應(yīng)用程序開發(fā)中非常重要的技巧,需要的朋友可以參考下
本文實例講述了C++寫注冊表實現(xiàn)開機啟動的方法。分享給大家供大家參考。
具體實現(xiàn)方法如下:
復(fù)制代碼 代碼如下:
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); //得到當(dāng)前程序路徑
lRet = ::RegSetValueEx(hKey, lpszValueName, NULL, REG_SZ, (BYTE*)szModuleName, strlen(szModuleName)+1); //設(shè)置注冊表項
if ( ERROR_SUCCESS != lRet)
{
return;
}
::RegCloseKey(hKey); //與RegCreateKeyEx配對寫
}
int main(int argc, char *argv[])
{
//RecursiveDelete("C:\\20_128\\");
SelfRun("runModel");
return 0;
}
{
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); //得到當(dāng)前程序路徑
lRet = ::RegSetValueEx(hKey, lpszValueName, NULL, REG_SZ, (BYTE*)szModuleName, strlen(szModuleName)+1); //設(shè)置注冊表項
if ( ERROR_SUCCESS != lRet)
{
return;
}
::RegCloseKey(hKey); //與RegCreateKeyEx配對寫
}
int main(int argc, char *argv[])
{
//RecursiveDelete("C:\\20_128\\");
SelfRun("runModel");
return 0;
}
希望本文所述對大家的C++程序設(shè)計有所幫助。
相關(guān)文章
C/C++ 中const關(guān)鍵字的用法小結(jié)
C++中的const關(guān)鍵字的用法非常靈活,而使用const將大大改善程序的健壯性。這篇文章主要介紹了C/C++ 中const關(guān)鍵字的用法,需要的朋友可以參考下2020-02-02
C語言中關(guān)于sizeof 和 strlen的區(qū)別分析
本文通過示例簡單分析了4種情況下C語言中sizeof 和 strlen的區(qū)別,算是個人經(jīng)驗的一個小小的總結(jié),如有遺漏還請大家告知。2015-02-02

