Mit Excel Windows beendenIch programmiere momentan mit VBA eine Excel-Unterstützung. Dabei benötige ich eine Möglichkeit, Windowsá95 aus der Anwendung heraus zu beenden. Wie läßt sich das realisieren? Für das Beenden von Windows 95 aus einer Anwendung heraus stehen Ihnen mehrere Möglichkeiten zur Verfügung. Sie können zum Beispiel das gesamte System herunterfahren und abschalten oder auch nur einen Benutzer abmelden. Declare Function TermWin Lib “User32“ Alias “ExitWindowsEx“ (MyVal N As Integer, M As Long) As IntegerMit einer Deklaration stellen Sie Ihrer Anwendung Funktionen aus externen Bibliotheken zur Verfügung. In diesem Fall handelt es sich um die Funktion ExitWindowsEx aus der Windows-Systembibliothek USER32.DLL. Da sich die Bibliothek im Systemordner befindet, benötigen Sie keine weiteren Pfadangaben. Wir haben die Funktion einfacher WinTerm genannt. Diese Umbenennung kann bei Konflikten unter Funktionsnamen von Bedeutung sein, ist aber nicht zwingend notwendig. Nachdem Ihre Anwendung nun weiß, um welche Funktion es sich handelt, wo sie zu finden ist und wie sie anzusprechen ist, können Sie mit dem Listing im Kasten „Windows beenden in Excel“ auf dieser Seite unten Ihr System herunterfahren. Das Listing liegt übrigens in Form eines TXT-Files auf der aktuellen WIN-Monats-CD. Die API-Funktionen geben typischerweise den Wert 0 oder 1 zurück. Damit signalisieren sie den Erfolg oder Mißerfolg. Wenn beispielsweise ein Prozeß auf einem höheren Sicherheitsniveau als Ihre Anwendung aktiv ist, wird er nicht auf Ihre Anforderung zum Beenden eingehen. Dann kann sich das Betriebssystem nicht selbst beenden; die Funktion gibt den Wert 1 zurück. ExitWindowsEx ist recht vielseitig. Um beispielsweise anstelle eines kompletten Shutdown lediglich einen neuen Logon und das Beenden aller Anwendungen außer der eigenen auszulösen, rufen Sie die Funktion einfach wie folgt auf: |