VB對(duì)注冊(cè)表設(shè)置程序開(kāi)機(jī)時(shí)運(yùn)行
發(fā)表時(shí)間:2024-02-16 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]我們可以看到一些程序在開(kāi)機(jī)時(shí)就會(huì)自動(dòng)運(yùn)行,象Winpopup就是這樣的,這是怎么實(shí)現(xiàn)的呢?可以把需要運(yùn)行的程序添加到“開(kāi)始”-“程序”-“啟動(dòng)”中,還有一種方法就是寫入注冊(cè)表了,這里我們討論通過(guò)寫注冊(cè)表來(lái)實(shí)現(xiàn)的方法,從中可以看到三個(gè)對(duì)注冊(cè)表操作的API函數(shù)的使用技巧。 首先要聲明這三個(gè)API...
我們可以看到一些程序在開(kāi)機(jī)時(shí)就會(huì)自動(dòng)運(yùn)行,象Winpopup就是這樣的,這是怎么實(shí)現(xiàn)的呢?可以把需要運(yùn)行的程序添加到“開(kāi)始”-“程序”-“啟動(dòng)”中,還有一種方法就是寫入注冊(cè)表了,這里我們討論通過(guò)寫注冊(cè)表來(lái)實(shí)現(xiàn)的方法,從中可以看到三個(gè)對(duì)注冊(cè)表操作的API函數(shù)的使用技巧。
首先要聲明這三個(gè)API函數(shù),它們分別是:RegSetValue、RegCreateKey、RegCloseKey,其作用是設(shè)置某一個(gè)主鍵的鍵值、創(chuàng)建一個(gè)主鍵、關(guān)閉對(duì)注冊(cè)表主鍵的操作。
Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
然后聲明以下兩個(gè)常數(shù),要進(jìn)行注冊(cè)表寫入的位置是在HKEY_LOCAL_MACHINE下,我們可以在VB自帶的API文本查看器中找到這些常數(shù)的定義方法。
Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Const REG_SZ = 1
然后使用如下語(yǔ)句就行了,你可以把這段代碼放在程序的某個(gè)位置:
''寫注冊(cè)表
Dim Ret2 As Long
''打開(kāi) HKEY_LOCAL_MACHINE 下的 software\microsoft\windows\currentVersion\runServices 主鍵
RegCreateKey HKEY_LOCAL_MACHINE, "software\microsoft\windows\currentVersion\runServices", Ret2
''將此主鍵下的“默認(rèn)”項(xiàng)的值改為"c:\windows\system\myprogram.exe",也就是要開(kāi)機(jī)運(yùn)行的程序路徑
RegSetValue Ret2, vbNullString, REG_SZ, "c:\windows\system\sysinfo2.exe", 4
''關(guān)閉對(duì)主鍵的操作
RegCloseKey Ret2