Programmiertips
Vorherige Seite
Zurück zur Übersicht
Nächste Seite

Visual Basic & Access (VBA) Windows beenden bzw. Neustart

In einigen Programmen z.B. bei Installationsroutinen, sieht man, daß Windows automatisch heruntergefahren oder neu gestartet werden kann. Geht das auch mit Visual Basic?

Lösung:
Für diese Funktion benötigen wir die Windows API - Funktion ExitWindows und die entsprechenden Konstanten.

Deklarationsteil:

Const EXW_LOGOFF = 0   ' Anwender lokal und im Netz abmelden, neues Anmeldefenster zeigen
Const EXW_SHUTDOWN = 1 ' Herunterfahren bis zur Meldung: "Sie können den Computer nun ausschalten"
Const EXW_REBOOT = 2   ' Windows neu starten (booten).
Const EXW_FORCE = 4    ' Programmende aller Applikationen erzwingen (ohne Sicherheitsabfrage)
Const EXW_POWEROFF = 8 ' Neu: Herunterfahren und Rechner ausschalten,
                       '      falls der Rechner das unterstützt

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

Beispiele für den Aufruf der Funktion:

'
' Alle laufenden Tasks beenden und Windows herunterfahren:
'
Call ExitWindowsEx(EXW_SHUTDOWN Or EXW_FORCE, 0&)

'
' Windows neu starten (reboot).
' Windows bekommt Gelegenheit, bei laufenden Programmen die bekannte Frage zu stellen:
' "Möchten sie dieses Programm wirklich beenden?"
' Dazu wurde die Konstante EXW_FORCE entfernt und EXW_SHUTDOWN durch EXW_REBOOT ersetzt.
'
Call ExitWindowsEx(EXW_REBOOT, 0&)
 


Vorherige Seite
Zurück zur Übersicht
Nächste Seite