autorun.bas

来自「本程序可以设置本机自动与Internet时间同步。」· BAS 代码 · 共 37 行

BAS
37
字号
Attribute VB_Name = "AutoRun"
Option Explicit

Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long

Public Const REG_SZ = 1
Public Const HKEY_LOCAL_MACHINE = &H80000002

Public Sub SetAutoRun(ByVal Autorun As Boolean)

    Dim KeyId As Long
    Dim MyexePath As String
    Dim regkey As String
    
    MyexePath = App.Path & "\" & App.EXEName & ".exe" '获取程序位置

    regkey = "Software\Microsoft\Windows\CurrentVersion\Run" '键值位置变量

    Call RegCreateKey(HKEY_LOCAL_MACHINE, regkey, KeyId) '建立
    
    If Autorun Then

        RegSetValueEx KeyId, "MySoftware", 0&, REG_SZ, ByVal MyexePath, LenB(MyexePath)

    Else

        RegDeleteValue KeyId, "MySoftware"

    End If

    RegCloseKey KeyId

End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?