VB 关机API

来源:百度知道 编辑:UC知道 时间:2024/06/19 04:40:42
ExitWindowsEx 调用他怎么实现不了关机的效果?
private const EWX_FORCE=4

ExitWindowsEx 4,0
不会直接关机 只有点象注销的效果

不要用这个函数,你可以直接用这个:
Shell "shutdown -s"

ExitWindowsEx需要获取权限(应该是吧,帮你找找).
主要代码:
Private Sub Form_Load()
Dim hProcessHandle As Long
Dim hTokenHandle As Long
Dim tmpLuid As LUID
Dim tkpNew As TOKEN_PRIVILEGES
Dim tkpPrevious As TOKEN_PRIVILEGES
Dim lBufferNeeded As Long
'获取当前进程的一个伪句柄
hProcessHandle = GetCurrentProcess()
OpenProcessToken hProcessHandle, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hTokenHandle
LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid
tkpNew.PrivilegeCount = 1
tkpNew.TheLuid = tmpLuid
tkpNew.Attributes = SE_PRIVILEGE_ENABLED
lBufferNeeded = 0
'允许当前应用程序有关闭操作系统的权限
AdjustTokenPrivileges hTokenHandle, False, tkpNew, Len(tkpPrevious), tkpPrevious, lBufferNeeded
End Sub
Private Sub Command1_Click()
'重新启动计算机
ExitWindowsEx EWX_REBOOT, 0
End Sub
Private Sub Command2_Clic