VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



ShutsDown, Logs Off and Restarts Windows Xp - tested and works fine. Isnt the one line of code that

by Big Boss (1 Submission)
Category: Windows System Services
Compatability: VB 6.0
Difficulty: Unknown Difficulty
Originally Published: Mon 21st May 2007
Date Added: Mon 8th February 2021
Rating: (1 Votes)

ShutsDown, Logs Off and Restarts Windows Xp - tested and works fine. Isnt the one line of code that clames to work. Just copy and paste.

API Declarations


'cmdRestart; cmdLogOff; cmdForceLogOff; cmdShutdown; cmdForceShutdown

Option Explicit
Private Const EWX_LogOff As Long = 0
Private Const EWX_SHUTDOWN As Long = 1
Private Const EWX_REBOOT As Long = 2
Private Const EWX_FORCE As Long = 4
Private Const EWX_POWEROFF As Long = 8


Private Declare Function ExitWindowsEx Lib "user32" _
(ByVal dwOptions As Long, _
ByVal dwReserved As Long) As Long

Private Type LUID
UsedPart As Long
IgnoredForNowHigh32BitPart As Long
End Type

Private Type LUID_AND_ATTRIBUTES
TheLuid As LUID
Attributes As Long
End Type
Private Type TOKEN_PRIVILEGES
PrivilegeCount As Long
TheLuid As LUID
Attributes As Long
End Type

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 TOKEN_PRIVILEGES, _
ReturnLength As Long) As Long

Private Declare Sub SetLastError Lib "kernel32" _
(ByVal dwErrCode As Long)

Private Sub AdjustToken()

Const TOKEN_ADJUST_PRIVILEGES = &H20
Const TOKEN_QUERY = &H8
Const SE_PRIVILEGE_ENABLED = &H2

Dim hdlProcessHandle As Long
Dim hdlTokenHandle As Long
Dim tmpLuid As LUID
Dim tkp As TOKEN_PRIVILEGES
Dim tkpNewButIgnored As TOKEN_PRIVILEGES
Dim lBufferNeeded As Long

SetLastError 0

hdlProcessHandle = GetCurrentProcess()

OpenProcessToken hdlProcessHandle, _
(TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY), hdlTokenHandle

LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid

tkp.PrivilegeCount = 1
tkp.TheLuid = tmpLuid
tkp.Attributes = SE_PRIVILEGE_ENABLED


AdjustTokenPrivileges hdlTokenHandle, _
False, _
tkp, _
Len(tkpNewButIgnored), _
tkpNewButIgnored, _
lBufferNeeded
End Sub

Rate ShutsDown, Logs Off and Restarts Windows Xp - tested and works fine. Isnt the one line of code that



         AdjustToken
            ExitWindowsEx (EWX_SHUTDOWN Or EWX_FORCE), &HFFFF
End Sub

      Private Sub cmdLogoff_Click()
         ExitWindowsEx (EWX_LogOff), &HFFFF
      End Sub

      Private Sub cmdForceLogoff_Click()
         ExitWindowsEx (EWX_LogOff Or EWX_FORCE), &HFFFF
             End Sub

Private Sub cmdRestart_Click()
        AdjustToken
            ExitWindowsEx (EWX_REBOOT), &HFFFF
End Sub

      Private Sub cmdShutdown_Click()
            AdjustToken
               ExitWindowsEx (EWX_SHUTDOWN), &HFFFF
              End Sub

Private Sub Form_Load()

End Sub


Download this snippet    Add to My Saved Code

ShutsDown, Logs Off and Restarts Windows Xp - tested and works fine. Isnt the one line of code that Comments

No comments have been posted about ShutsDown, Logs Off and Restarts Windows Xp - tested and works fine. Isnt the one line of code that. Why not be the first to post a comment about ShutsDown, Logs Off and Restarts Windows Xp - tested and works fine. Isnt the one line of code that.

Post your comment

Subject:
Message:
0/1000 characters