Skip to content

cStartUp 方法参考

Toggle

切换指定名称的开机启动项。如果不存在则添加,存在则删除。

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

参数

参数名类型说明
NameString启动项名称(注册表中显示的名称)
PathVariant程序路径,支持两种格式:App 对象或字符串路径
StartArgsVariant可选,启动参数数组(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 Sub

Has

检查指定的启动项是否存在。

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

参数

参数名类型说明
NameString启动项名称

返回值

  • 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

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