Skip to content

VBMAN.StartUp - 开机启动管理对象

概述

VBMAN.StartUp 提供了管理 Windows 开机启动项的功能,通过操作注册表实现。

核心特性

  • 添加/删除启动项: 一键切换开机启动状态
  • 状态检查: 检查指定程序是否已设置为开机启动
  • 灵活路径: 支持字符串路径或 App 对象

属性

属性类型说明
LastErrorString最后错误信息

方法

Has

检查是否已设置为开机启动

vb
Public Function Has(ByVal Name As String) As Boolean

参数:

  • Name - 启动项名称

返回: True=已存在, False=不存在

示例:

vb
If VBMAN.StartUp.Has("MyApplication") Then
    CheckBoxStartup.Value = vbChecked
Else
    CheckBoxStartup.Value = vbUnchecked
End If

Toggle

切换开机启动状态

vb
Public Function Toggle(ByVal Name As String, ByRef Path As Variant, ParamArray StartArgs() As Variant) As Boolean

参数:

  • Name - 启动项名称
  • Path - 程序路径(可以是字符串或 App 对象)
  • StartArgs - 启动参数(可选,可变参数)

返回: True=操作成功, False=失败

说明: 如果启动项已存在则删除,不存在则添加

示例:

vb
' 使用字符串路径
VBMAN.StartUp.Toggle "MyApp", "C:\Program Files\MyApp\app.exe"

' 使用 App 对象(推荐)
VBMAN.StartUp.Toggle "MyApplication", App

' 带启动参数
VBMAN.StartUp.Toggle "MyApp", App, "--minimized", "--auto-start"

综合示例

示例1: 开机启动开关

vb
Private Sub CheckBoxStartup_Click()
    Dim success As Boolean
    
    If CheckBoxStartup.Value = vbChecked Then
        ' 添加到开机启动
        success = VBMAN.StartUp.Toggle("MyApplication", App)
        If Not success Then
            MsgBox "设置开机启动失败: " & VBMAN.StartUp.LastError
            CheckBoxStartup.Value = vbUnchecked
        End If
    Else
        ' 从开机启动移除
        success = VBMAN.StartUp.Toggle("MyApplication", App)
        If Not success Then
            MsgBox "取消开机启动失败: " & VBMAN.StartUp.LastError
            CheckBoxStartup.Value = vbChecked
        End If
    End If
End Sub

Private Sub Form_Load()
    ' 检查当前启动状态
    CheckBoxStartup.Value = IIf(VBMAN.StartUp.Has("MyApplication"), vbChecked, vbUnchecked)
End Sub

示例2: 带参数的开机启动

vb
Private Sub SetAutoStartWithParams()
    ' 设置开机启动,并传递参数
    Dim success As Boolean
    success = VBMAN.StartUp.Toggle("MyApp", App, "--silent", "--tray")
    
    If success Then
        MsgBox "开机启动设置成功!"
    Else
        MsgBox "设置失败: " & VBMAN.StartUp.LastError
    End If
End Sub

最佳实践

  1. 使用 App 对象: 推荐使用 App 对象而不是硬编码路径
  2. 名称规范: 使用有意义的名称,建议使用应用程序名称
  3. 用户确认: 修改开机启动前最好获得用户确认
  4. 权限注意: 某些环境可能需要管理员权限才能修改启动项

VB6及其LOGO版权为微软公司所有