Tools - 系统工具类
cToolsSystem - 系统操作工具
概述
提供系统级别的操作功能,如以管理员身份运行程序。
方法
RunAsAdmin
以管理员身份运行指定的程序。
vb
Public Function RunAsAdmin( _
ByRef Path As Variant, _
ParamArray StartArgs() As Variant _
) As Long参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
Path | Variant | 程序路径(支持 App 对象或字符串) |
StartArgs | Variant | 可选,命令行参数数组 |
返回值:
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注意事项
- 调用会触发 UAC(用户账户控制)提示
- 如果用户拒绝提升权限,程序不会启动
- 返回值大于 32 表示成功