cStartUp 方法参考
Toggle
切换指定名称的开机启动项。如果不存在则添加,存在则删除。
vb
Public Function Toggle( _
ByVal Name As String, _
ByRef Path As Variant, _
ParamArray StartArgs() As Variant _
) As Boolean参数
| 参数名 | 类型 | 说明 |
|---|---|---|
Name | String | 启动项名称(注册表中显示的名称) |
Path | Variant | 程序路径,支持两种格式:App 对象或字符串路径 |
StartArgs | Variant | 可选,启动参数数组(ParamArray) |
返回值
True- 切换成功False- 切换失败,可通过LastError获取错误信息
示例
传入 App 对象(推荐)
vb
' 自动提取 App.Path 和 App.EXEName
VBMAN.StartUp.Toggle "MyApp", App传入字符串路径
vb
' 直接指定完整路径
VBMAN.StartUp.Toggle "MyApp", "C:\Program Files\MyApp\MyApp.exe"带启动参数
vb
' 传递多个启动参数
VBMAN.StartUp.Toggle "MyApp", App, "--minimized", "--start-in-tray"完整使用流程
vb
Private Sub MenuStartUp_Click()
Dim Result As Boolean
' 切换开机启动状态
Result = VBMAN.StartUp.Toggle("cs-auther-client", App)
If Result Then
' 更新菜单勾选状态
MenuStartUp.Checked = VBMAN.StartUp.Has("cs-auther-client")
' 显示提示
If MenuStartUp.Checked Then
VBMAN.Toast.Show "已设置开机启动"
Else
VBMAN.Toast.Show "已取消开机启动"
End If
Else
' 显示错误
MsgBox "设置失败:" & VBMAN.StartUp.LastError, vbExclamation
End If
End SubHas
检查指定的启动项是否存在。
vb
Public Function Has(ByVal Name As String) As Boolean参数
| 参数名 | 类型 | 说明 |
|---|---|---|
Name | String | 启动项名称 |
返回值
True- 启动项存在False- 启动项不存在
示例
vb
' 检查是否存在
If VBMAN.StartUp.Has("MyApp") Then
Debug.Print "已设置开机启动"
Else
Debug.Print "未设置开机启动"
End If
' 用于设置菜单勾选状态
MenuStartUp.Checked = VBMAN.StartUp.Has("MyApp")使用模式对比
| 场景 | 代码示例 |
|---|---|
| 添加启动项 | Toggle("App", App) - 如果不存在则添加 |
| 删除启动项 | Toggle("App", App) - 如果存在则删除 |
| 切换启动项 | Toggle("App", App) - 自动切换状态 |
| 检查状态 | Has("App") - 返回布尔值 |
错误处理
vb
If Not VBMAN.StartUp.Toggle("MyApp", App) Then
' 处理错误
Dim ErrMsg As String
ErrMsg = VBMAN.StartUp.LastError
MsgBox "开机启动设置失败:" & ErrMsg, vbCritical
End If