我們可以看到一些程序在開機時就會自動運行,象Winpopup就是這樣的,這是怎麼實現的呢?可以把需要運行的程序添加到“開始”-“程序”-“啟動”中,還有一種方法就是寫入注冊表了,這裡我們討論通過寫注冊表來實現的方法,從中可以看到三個對注冊表操作的API函數的使用技巧。
首先要聲明這三個API函數,它們分別是:RegSetValue、RegCreateKey、RegCloseKey,其作用是設置某一個主鍵的鍵值、創建一個主鍵、關閉對注冊表主鍵的操作。
PrivateDeclareFunctionRegSetValueLib"advapi32.dll"Alias"RegSetValueA"(ByValhKeyAsLong,ByVallpSubKeyAsString,ByValdwTypeAsLong,ByVallpDataAsString,ByValcbDataAsLong)AsLong
PrivateDeclareFunctionRegCreateKeyLib"advapi32.dll"Alias"RegCreateKeyA"(ByValhKeyAsLong,ByVallpSubKeyAsString,phkResultAsLong)AsLong
PrivateDeclareFunctionRegCloseKeyLib"advapi32.dll"(ByValhKeyAsLong)AsLong
然後聲明以下兩個常數,要進行注冊表寫入的位置是在HKEY_LOCAL_MACHINE下,我們可以在VB自帶的API文本查看器中找到這些常數的定義方法。
PrivateConstHKEY_LOCAL_MACHINE=&H80000002
PrivateConstREG_SZ=1
然後使用如下語句就行了,你可以把這段代碼放在程序的某個位置:
'寫注冊表
DimRet2AsLong
'打開HKEY_LOCAL_MACHINE 下的 softwaremicrosoftwindowscurrentVersion
unServices 主鍵
RegCreateKeyHKEY_LOCAL_MACHINE,"softwaremicrosoftwindowscurrentVersion
unServices",Ret2
'將此主鍵下的“默認”項的值改為"c:windowssystemmyprogram.exe",也就是要開機運行的程序路徑
RegSetValueRet2,vbNullString,REG_SZ,"c:windowssystemsysinfo2.exe",4
'關閉對主鍵的操作
RegCloseKeyRet2
如果你對注冊表各個部分的功能還不了解的話,可以參照“電腦入門”欄目下的注冊表教程進行學習。->