VB對註冊表操作程式開機時運行

來源:互聯網
上載者:User
程式|註冊表 我們可以看到一些程式在開機時就會自動運行,象Winpopup就是這樣的,這是怎麼實現的呢?可以把需要啟動並執行程式添加到“開始”-“程式”-“啟動”中,還有一種方法就是寫入註冊表了,這裡我們討論通過寫註冊表來實現的方法,從中可以看到三個對註冊表操作的API函數的提示。

   首先要聲明這三個API函數,它們分別是:RegSetValue、RegCreateKey、RegCloseKey,其作用是設定某一個主鍵的索引值、建立一個主鍵、關閉對註冊表主鍵的操作。

    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

   然後聲明以下兩個常數,要進行註冊表寫入的位置是在HKEY_LOCAL_MACHINE下,我們可以在VB內建的API文本查看器中找到這些常數的定義方法。

    Private Const HKEY_LOCAL_MACHINE = &H80000002
    Private Const REG_SZ = 1

   然後使用如下語句就行了,你可以把這段代碼放在程式的某個位置:

   '寫註冊表
   Dim Ret2 As Long
   '開啟 HKEY_LOCAL_MACHINE 下的 software\microsoft\windows\currentVersion\runServices 主鍵
   RegCreateKey HKEY_LOCAL_MACHINE, "software\microsoft\windows\currentVersion\runServices", Ret2
   '將此主鍵下的“預設”項的值改為"c:\windows\system\myprogram.exe",也就是要開機啟動並執行程式路徑
   RegSetValue Ret2, vbNullString, REG_SZ, "c:\windows\system\sysinfo2.exe", 4
   '關閉對主鍵的操作
   RegCloseKey Ret2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.