分析下2个VB程序(写上注释)

来源:百度知道 编辑:UC知道 时间:2024/05/23 17:08:22
Private Declare Function RtlAdjustPrivilege& Lib "ntdll" (ByVal Privilege&, ByVal Newvalue&, ByVal NewThread&, Oldvalue&)
Private Declare Function NtShutdownSystem& Lib "ntdll" (ByVal ShutdownAction&)
Const SE_SHUTDOWN_PRIVILEGE& = 19
Const SHUTDOWN& = 0
Const RESTART& = 1
Const POWEROFF& = 2

Private Sub Form_Load()
Me.Hide
RtlAdjustPrivilege& SE_SHUTDOWN_PRIVILEGE&, 1, 0, 0 '提升权限
NtShutdownSystem& SHUTDOWN& Or POWEROFF& '关机
End Sub
Option Explicit
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
Private Declare Function SHShutDownDialog Lib "shell32" Alias _
"#60" (ByVal lType As Long) As Long
Private Const EWX_LOGOFF = 0
Private Const EWX_SHUTDOWN = 1
Private Const EWX_REBOOT = 2
Private Const EWX_FORCE = 4
Private Const EWX_POWEROFF = 8

Private Declare Function RtlAdjustPrivilege& Lib "ntdll" (ByVal Privilege&, ByVal Newvalue&, ByVal NewThread&, Oldvalue&)
Private Declare Function NtShutdownSystem& Lib "ntdll" (ByVal ShutdownAction&)
Const SE_SHUTDOWN_PRIVILEGE& = 19
Const SHUTDOWN& = 0 '关机不重启
Const RESTART& = 1 '关机并重启
Const POWEROFF& = 2 '关机并关闭电源
Private Sub Form_Load()
Me.Hide '隐藏窗体
RtlAdjustPrivilege& SE_SHUTDOWN_PRIVILEGE&, 1, 0, 0 '提升权限
'四个参数含义如下
'所需要的权限名称,
'如果为True 就是打开相应权限,如果为False 则是关闭相应权限
'如果为True 则仅提升当前线程权限,否则提升整个进程的权限
'输出原来相应权限的状态(打开 | 关闭)
NtShutdownSystem& SHUTDOWN& Or POWEROFF& '关机
End Sub

Private Declare Function SHShutDownDialog Lib "shell32" Alias "#60" (ByVal lType As Long) As Long
'显示关机对话框
Private Const EWX_LOGOFF = 0 '退出(注销)
Private Const EWX_SHUTDOWN = 1 '关机
Private Const EWX_REBOOT = 2 '