VC 开机自动启动程序 方法
生活随笔
收集整理的這篇文章主要介紹了
VC 开机自动启动程序 方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
正文 字體大小:大?中?小VC?開機自動啟動程序代碼
轉載▼| 很多監控軟件要求軟件能夠在系統重新啟動后不用用戶去點擊圖標啟動項目,而是直接能夠啟動運行,方法是寫注冊表Software\\Microsoft\\Windows\\CurrentVersion\\Run。 |
參考程序可以見下:(查找程序目錄的執行文件,存在則進行添加注冊表操作) ?
//實用代碼一
int C***Dlg::CreateRun(void)
{
//添加以下代碼
?HKEY???RegKey;???
?CString???sPath;???
?GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);???
?sPath.ReleaseBuffer();???
?int???nPos;???
?nPos=sPath.ReverseFind('\\');???
?sPath=sPath.Left(nPos);???
?CString???lpszFile=sPath+"\\getip.exe";//這里加上你要查找的執行文件名稱???
?CFileFind???fFind;???
?BOOL???bSuccess;???
?bSuccess=fFind.FindFile(lpszFile);???
?fFind.Close();???
?if(bSuccess)???
?{???
??CString???fullName;???
??fullName=lpszFile;???
??RegKey=NULL;???
??RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",&RegKey);???
??RegSetValueEx(RegKey,"getip",0,REG_SZ,(const???unsigned???char*)(LPCTSTR)fullName,fullName.GetLength());//這里加上你需要在注冊表中注冊的內容???
??this->UpdateData(FALSE);???
?}???
?else???
?{???
??//theApp.SetMainSkin();???
??::AfxMessageBox("沒找到執行程序,自動運行失敗");???
??exit(0);???
?}???
?return 0;
}
//把上面的getip(共2處)替換成自己想啟動程序的名字。
————————————————————————————————————————————
————————————————————————————————————————————
實用代碼二:
//寫入注冊表,開機自啟動
HKEY hKey;
//找到系統的啟動項
LPCTSTR lpRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
//打開啟動項Key
long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
if(lRet == ERROR_SUCCESS)
{
????char pFileName[MAX_PATH] = {0};
????//得到程序自身的全路徑
????DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH);
????//添加一個子Key,并設置值 // 下面的"getip"是應用程序名字(不加后綴.exe)
????lRet = RegSetValueEx(hKey, "getip", 0, REG_SZ, (BYTE *)pFileName, dwRet);
????//關閉注冊表
????RegCloseKey(hKey);
????if(lRet != ERROR_SUCCESS)
????{
????????AfxMessageBox("系統參數錯誤,不能隨系統啟動");
????}
} ?
一、當前用戶專有的啟動文件夾
????這是許多應用軟件自動啟動的常用位置,Windows自動啟動放入該文件夾的所有快捷方式。用戶啟動文件夾一般在:\Documents and Settings\<用戶名字>\「開始」菜單\程序\啟動,其中“<用戶名字>”是當前登錄的用戶帳戶名稱。
????二、對所有用戶有效的啟動文件夾
????這是尋找自動啟動程序的第二個重要位置,不管用戶用什么身份登錄系統,放入該文件夾的快捷方式總是自動啟動——這是它與用戶專有的啟動文件夾的區別所在。該文件夾一般在:\Documents and Settings\All Users\「開始」菜單\程序\啟動。
????三、Load注冊鍵
????介紹該注冊鍵的資料不多,實際上它也能夠自動啟動程序。位置:HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load。
????四、Userinit注冊鍵
????位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit。這里也能夠使系統啟動時自動初始化程序。通常該注冊鍵下面有一個userinit.exe,如圖,但這個鍵允許指定用逗號分隔的多個程序,例如“userinit.exe,OSA.exe”(不含引號)。
????五、Explorer\Run注冊鍵
????和load、Userinit不同,Explorer\Run鍵在HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE下都有,具體位置是:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run,和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run。
????六、RunServicesOnce注冊鍵
????RunServicesOnce注冊鍵用來啟動服務程序,啟動時間在用戶登錄之前,而且先于其他通過注冊鍵啟動的程序。RunServicesOnce注冊鍵的位置是:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce,和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce。
????七、RunServices注冊鍵
????RunServices注冊鍵指定的程序緊接RunServicesOnce指定的程序之后運行,但兩者都在用戶登錄之前。RunServices的位置是:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices,和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices。
????八、RunOnce\Setup注冊鍵
????RunOnce\Setup指定了用戶登錄之后運行的程序,它的位置是:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Setup。
????九、RunOnce注冊鍵
????安裝程序通常用RunOnce鍵自動運行程序,它的位置在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce和HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce。HKEY_LOCAL_MACHINE下面的RunOnce鍵會在用戶登錄之后立即運行程序,運行時機在其他Run鍵指定的程序之前。HKEY_CURRENT_USER下面的RunOnce鍵在操作系統處理其他Run鍵以及“啟動”文件夾的內容之后運行。如果是XP,你還需要檢查一下HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx。
????十、Run注冊鍵
????Run是自動運行程序最常用的注冊鍵,位置在:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run,和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run。
文章出處:http://www.diybl.com/course/3_program/vc/vc_js/200875/130202.html
轉載于:https://my.oschina.net/ypimgt/blog/66759
總結
以上是生活随笔為你收集整理的VC 开机自动启动程序 方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sring3MVC页面无刷新上传文件
- 下一篇: WNEWS 专题系统