我在csdn**上經常看到有人問這樣的問題,其實要實現開機時就自動執行自己的程式並不難。在登錄檔的hkey_local_machine\software\microsoft\windows\currentversion\run鍵下可以看到有一系列鍵值,它們都是開機自動執行的軟體的路徑。那麼我們要做的就是程式設計實現將我們的程式的路徑也新增到這個鍵值下,就搞定了。著名的「windows優化大師」也就是用去掉不必要的開機執行軟體這個方法來實現開機速度優化的。
既然要讀寫登錄檔,就要用到兩個重要的操作登錄檔的函式:regopenkey()和regsetvalueex()。前者用於開啟登錄檔的鍵,後者則為開啟的鍵設定鍵值,至於這兩個api函式的具體引數,請參見msdn。為了**重用的要求,我為此封裝了乙個專門的函式,如下所示:
bool setautorun(cstring strpath)//開機自動執行
return bresult;
}
其中strpath引數表示要設定為自執行的程式的絕對路徑。當設定成功時返回true,否則返回false。
這裡又帶來乙個問題:既然需要本程式的絕對路徑,那麼怎麼得到它呢?總不能指定乙個值吧,那麼當本程式的路徑改變時就又要修改程式,太麻煩了。可以用這個封裝的函式來實現:
//得到程式檔案本身的路徑(包括檔名)
cstring getmypath()
其中getmodulefilename()是乙個得到路徑的api函式。本函式將這個api函式封裝在其中,為的是簡化呼叫的目的。
當執行這個函式時,返回本程式所在的絕對路徑,包括本程式的檔名。
好了,得到本程式的路徑,然後將它載入到登錄檔中,下次系統啟動時,我們的程式就能自動隨之啟動了。
登錄檔開機啟動
登錄檔裡如何新增開機啟動項 新增開機啟動項 通過登錄檔 第一步 找到登錄檔的啟動項位置 hkey local machine software microsoft windows currentversion run主鍵 第二步 在另邊點選右鍵 新建 字串值 取名 qq 如下圖 第三步 找到你所要增...
通過登錄檔實現開機自啟動
實現開機自啟動的途徑和方式有很多種,其中修改登錄檔方式應用最為廣泛。登錄檔相當是作業系統的資料庫,記錄著系統中方方面面的資料,其中也不乏直接或間接導致開機自啟動的資料。windows提供了專門的開機自啟動登錄檔。在每次開機完成後,它都會在這個登錄檔鍵下遍歷鍵值,以獲取鍵值中的程式路徑,並建立程序啟動...
Delphi 開機啟動 操作登錄檔
開機啟動註冊路徑 64位作業系統 hkey local machine software wow6432node microsoft windows currentversion run 32位作業系統 hkey local machine software microsoft windows cu...