Skip to content

Tools - 系统工具类

cToolsSystem - 系统操作工具

概述

提供系统级别的操作功能,如以管理员身份运行程序。

方法

RunAsAdmin

以管理员身份运行指定的程序。

vb
Public Function RunAsAdmin( _
    ByRef Path As Variant, _
    ParamArray StartArgs() As Variant _
) As Long

参数:

参数名类型说明
PathVariant程序路径(支持 App 对象或字符串)
StartArgsVariant可选,命令行参数数组

返回值:

ShellExecute 的执行结果。

示例:

vb
' 方式1:传入 App 对象
VBMAN.ToolsSystem.RunAsAdmin App

' 方式2:传入路径字符串
VBMAN.ToolsSystem.RunAsAdmin "C:\\Program Files\\MyApp\\MyApp.exe"

' 带参数运行
VBMAN.ToolsSystem.RunAsAdmin App, "--config", "debug"

完整示例

vb
Private Sub RestartAsAdmin()
    Dim Result As Long
    
    ' 检查是否已以管理员身份运行(需要额外实现检查逻辑)
    If Not IsAdmin() Then
        Result = VBMAN.ToolsSystem.RunAsAdmin(App)
        
        If Result > 32 Then
            ' 成功启动管理员进程,退出当前进程
            End
        Else
            MsgBox "无法提升到管理员权限", vbExclamation
        End If
    End If
End Sub

注意事项

  1. 调用会触发 UAC(用户账户控制)提示
  2. 如果用户拒绝提升权限,程序不会启动
  3. 返回值大于 32 表示成功

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