明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

VB對(duì)注冊(cè)表設(shè)置程序開(kāi)機(jī)時(shí)運(yù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