vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Windows XP herunterfahren! Shutdown.exe geht nicht, da kein Admin! 
Autor: HumanShadow
Datum: 26.09.04 22:54

und hier der Code für das Modul (Modul benennen: basHumanShadowsAusschaltfunktion (^_^) )
- Dieses Modul hab ich nur sehr mager gekürzt, weil es meines erachtens eigentlich egal sein dürfte ob da jetzt mehr zeilen drinn sind oder nicht und ich anderer seits keine zeit mehr dafür hab: (muss schnellstens ins bett 8)

Option Explicit
 
Private Const TOKEN_ADJUST_PRIVILEGES As Long = &H20
Private Const SE_SHUTDOWN_NAME As String = "SeShutdownPrivilege"
Private Const SE_PRIVILEGE_ENABLED As Long = &H2
 
Private Const EWX_SHUTDOWN As Long = 1&
 
Private Type LUID
    lowpart As Long
    highpart As Long
End Type
 
Private Type LUID_AND_ATTRIBUTES
    pLuid As LUID
    Attributes As Long
End Type
 
Private Type TOKEN_PRIVILEGES
    PrivilegeCount As Long
    Privileges As LUID_AND_ATTRIBUTES
End Type
 
Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" ( _
     ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, _
     NewState As TOKEN_PRIVILEGES, BufferLength As Any, _
     PreviousState As Any, ReturnLength As Any) As Long
 
Private Declare Function ExitWindowsEx Lib "user32.dll" ( _
     ByVal uFlags As Long, ByVal dwReserved As Long) As Long
 
Private Declare Function OpenProcessToken Lib "advapi32.dll" ( _
     ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, _
     TokenHandle As Long) As Long
 
Private Declare Function GetCurrentProcess Lib "kernel32.dll" () As Long
 
Private Declare Function LookupPrivilegeValue Lib "advapi32.dll"  _
Alias "LookupPrivilegeValueA" ( _
     ByVal lpSystemName As String, ByVal lpName As String, _
     lpLuid As LUID) As Long
 
Public Function ShutDownNTbasedWindows(ByVal ShutDownMode As Long) As  _
Boolean
    Dim retval As Long
 
    If (ShutDownMode And EWX_SHUTDOWN) > 0 Or _
       (ShutDownMode And EWX_POWEROFF) > 0 Or _
       (ShutDownMode And EWX_REBOOT) > 0 Then
 
            If Not AdjustPrivilege2ShutdownOrRestart(True) Then
                Call MsgBox("Das Privileg zum " & _
                "Herunterfahren/Neustarten des Systems " & _
                            "konnte nicht aktiviert werden.", _
                            vbExclamation + vbOKOnly, App.Title)
 
                Exit Function
            End If
    End If
 
    ShutDownNTbasedWindows = ShutDownDOSbasedWindows(ShutDownMode)
 
    If (ShutDownMode And EWX_SHUTDOWN) > 0 Or _
       (ShutDownMode And EWX_POWEROFF) > 0 Or _
       (ShutDownMode And EWX_REBOOT) > 0 Then
 
            If Not AdjustPrivilege2ShutdownOrRestart(False) Then
                ' Meckere nicht, denn für den Anwender spielt es im  
' Prinzip keine Rolle
            End If
    End If
End Function
Hoffe ich konnte helfen!
Aufforderung @ all - kürtzt das Modul für mich fertig zusammen; danke im vorhinein

euer
HumanShadow

(gn8 @ all)
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Windows XP herunterfahren! Shutdown.exe geht nicht, da kein ...1.035TheRealHoudini26.09.04 15:02
Re: Windows XP herunterfahren! Shutdown.exe geht nicht, da k...648TheRealHoudini26.09.04 17:40
Re: Windows XP herunterfahren! Shutdown.exe geht nicht, da k...860HumanShadow26.09.04 22:51
Re: Windows XP herunterfahren! Shutdown.exe geht nicht, da k...835HumanShadow26.09.04 22:54

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel