|
| |

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 FunctionHoffe ich konnte helfen!
Aufforderung @ all - kürtzt das Modul für mich fertig zusammen; danke im vorhinein
euer
HumanShadow
(gn8 @ all) |  |
 | 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 |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere Infos
|
| |
|
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
|
|