cStartUp 开机启动管理组件
概述
cStartUp 是 VBMAN 框架提供的开机启动管理组件,用于管理 Windows 系统注册表中的开机启动项。支持添加、删除、查询启动项,可传递启动参数。
特性
- 切换模式 - 自动判断添加或删除启动项
- 支持参数 - 可为启动程序传递命令行参数
- 双模式路径 - 支持传入 App 对象或字符串路径
- 全局访问 - 通过
VBMAN.StartUp快速访问
快速开始
检查当前开机启动状态
vb
Private Sub Form_Load()
' 设置菜单勾选状态
MenuStartUp.Checked = VBMAN.StartUp.Has("my-app-name")
End Sub切换开机启动
vb
Private Sub MenuStartUp_Click()
' Toggle 会自动判断:不存在则添加,存在则删除
If VBMAN.StartUp.Toggle("my-app-name", App) = True Then
' 切换成功,更新菜单状态
MenuStartUp.Checked = VBMAN.StartUp.Has("my-app-name")
VBMAN.Toast.Show IIf(MenuStartUp.Checked, "设置开机启动成功", "取消开机启动成功")
Else
' 切换失败,显示错误
VBMAN.Toast.Show "开机设置失败:" & VBMAN.StartUp.LastError
End If
End Sub注册表位置
组件操作的是 Windows 注册表以下位置:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run注:HKCU 表示当前用户,设置的开机启动仅对当前用户生效。
完整示例
vb
'===============================================
' 开机启动管理完整示例
'===============================================
Private Sub Form_Load()
' 初始化菜单状态
UpdateStartUpMenu()
End Sub
' 点击开机启动菜单
Private Sub MenuStartUp_Click()
ToggleStartUp
End Sub
' 切换开机启动状态
Private Sub ToggleStartUp()
Dim AppName As String
AppName = "my-application"
' 方式1:传入 App 对象(推荐)
If VBMAN.StartUp.Toggle(AppName, App) Then
UpdateStartUpMenu()
ShowToggleResult
Else
MsgBox "设置失败:" & VBMAN.StartUp.LastError, vbCritical
End If
End Sub
' 更新菜单勾选状态
Private Sub UpdateStartUpMenu()
MenuStartUp.Checked = VBMAN.StartUp.Has("my-application")
End Sub
' 显示切换结果
Private Sub ShowToggleResult()
If MenuStartUp.Checked Then
VBMAN.Toast.Show "已添加到开机启动"
Else
VBMAN.Toast.Show "已取消开机启动"
End If
End Sub带启动参数
vb
' 切换开机启动,并传递启动参数
Private Sub MenuStartUp_Click()
' 参数:启动后最小化到托盘
If VBMAN.StartUp.Toggle("my-app", App, "--minimized", "--autostart") Then
Debug.Print "开机启动设置成功"
End If
End Sub启动后可通过 Command$ 读取参数:
vb
Private Sub Form_Load()
' 检查是否是开机自动启动
If InStr(Command$, "--autostart") > 0 Then
' 最小化到托盘
Me.WindowState = vbMinimized
Me.Hide
End If
End Sub