VBMAN.StartUp - 开机启动管理对象
概述
VBMAN.StartUp 提供了管理 Windows 开机启动项的功能,通过操作注册表实现。
核心特性
- 添加/删除启动项: 一键切换开机启动状态
- 状态检查: 检查指定程序是否已设置为开机启动
- 灵活路径: 支持字符串路径或 App 对象
属性
| 属性 | 类型 | 说明 |
|---|---|---|
LastError | String | 最后错误信息 |
方法
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 IfToggle
切换开机启动状态
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最佳实践
- 使用 App 对象: 推荐使用 App 对象而不是硬编码路径
- 名称规范: 使用有意义的名称,建议使用应用程序名称
- 用户确认: 修改开机启动前最好获得用户确认
- 权限注意: 某些环境可能需要管理员权限才能修改启动项