|
|
|
Click here to copy the following block | Private Type LUID LowPart As Long HighPart As Long End Type
Private Type TOKEN_PRIVILEGES PrivilegeCount As Long LuidUDT As LUID Attributes As Long End Type
Const TOKEN_ADJUST_PRIVILEGES = &H20 Const TOKEN_QUERY = &H8 Const SE_PRIVILEGE_ENABLED = &H2
Const EWX_SHUTDOWN = 1 Const EWX_REBOOT = 2 Const EWX_FORCE = 4
Private Declare Function GetVersion Lib "kernel32" () As Long Private Declare Function GetCurrentProcess Lib "kernel32" () As Long Private Declare Function OpenProcessToken Lib "advapi32" (ByVal ProcessHandle _ As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long Private Declare Function LookupPrivilegeValue Lib "advapi32" Alias _ "LookupPrivilegeValueA" (ByVal lpSystemName As String, _ ByVal lpName As String, lpLuid As LUID) As Long Private Declare Function AdjustTokenPrivileges Lib "advapi32" (ByVal _ TokenHandle As Long, ByVal DisableAllPrivileges As Long, _ NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, _ PreviousState As Any, ReturnLength As Any) As Long Private Declare Function ExitWindowsEx Lib "user32" (ByVal dwOptions As Long, _ ByVal dwReserved As Long) As Long
Sub ShutDownWindows(ByVal Reboot As Boolean, Optional ByVal Force As Boolean) Dim hToken As Long Dim tp As TOKEN_PRIVILEGES Dim flags As Long If GetVersion() >= 0 Then OpenProcessToken GetCurrentProcess(), (TOKEN_ADJUST_PRIVILEGES Or _ TOKEN_QUERY), hToken LookupPrivilegeValue "", "SeShutdownPrivilege", tp.LuidUDT tp.PrivilegeCount = 1 tp.Attributes = SE_PRIVILEGE_ENABLED AdjustTokenPrivileges hToken, False, tp, 0, ByVal 0&, ByVal 0& End If flags = EWX_SHUTDOWN If Reboot Then flags = flags Or EWX_REBOOT If Force Then flags = flags Or EWX_FORCE ExitWindowsEx flags, &HFFFF End Sub |
|
|
|
Submitted By :
Nayan Patel
(Member Since : 5/26/2004 12:23:06 PM)
|
|
|
Job Description :
He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting. |
View all (893) submissions by this author
(Birth Date : 7/14/1981 ) |
|
|