RSS
StartseiteKnowledge LibraryTop 10Impressum

10.11 Wie rufe ich den Beenden-/ Ausführen- Dialog von Windows auf?

VB4-VB6

Von:  [Home]

Über den Sinn und Unsinn dieser Funktionen lässt sich streiten... trotzdem ist es möglich, wenn auch nicht dokumentiert. Die Deklaration der undokumentierten Funktion:

Private Declare Function SHShutDownDialog Lib "shell32" Alias "#60" _
       (Optional ByVal YourGuess As Long = 0) As Long

Mit dem Aufruf von

SHShutDownDialog

zeigen Sie den Beenden-Dialog von Windows an. Der Parameter YourGuess ist ein reservierter Parameter und ist in den aktuellen Windows-Versionen nicht funktional belegt, daher optional und by default mit 0 belegt.

Es ist auch möglich den Ausführen-Dialog (Start/Ausführen) von Windows fürs eigene Programm zu verwenden. Die Deklaration von SHRunDialog:

Private Declare Function SHRunDialog Lib "shell32" Alias "#61" _
       (ByVal hOwner As Long, ByVal Unknown1 As Long, _
        ByVal Unknown2 As Long, ByVal szTitle As String, _
        ByVal szPrompt As String, ByVal uFlags As Long) As Long

Private Const SHRUN_DEFAULT = &H0
Private Const SHRUN_NOBROWSE = &H1
Private Const SHRUN_NOMRU = &H2

Um den Dialog anzuzeigen, kann folgender Code verwendet werden:

SHRunDialog Me.hWnd, 0, 0, "Beispielprogramm", _
            "Dies ist der Meldungstext!", SHRUN_NOMRU

Der erste Parameter gibt das Parent-Fenster an (also das Fenster, zu dem der Ausführen-Dialog modal angezeigt werden soll). Der dritte Parameter legt den Text der Titelleiste des Dialogs fest und mit dem darauf folgenden können Sie sogar den Text, der als Erklärung dient, festlegen.

NT basierte Systeme (Windows NT/2000/XP) erwarten hier aber einen Unicode- String, so dass eine Konvertierung des Strings Mithilfe der StrConv-Funktion erforderlich ist:

SHRunDialog Me.hWnd, 0, 0, _
                 StrConv("Beispielprogramm", vbUnicode), _
                 StrConv("Dies ist der Meldungstext!", vbUnicode), _
                 SHRUN_NOMRU

Der letzte Parameter gibt an, ob die Inhalte der ComboBox (MRU - Most Recently Used) des Original Ausführen-Dialogs verwendet werden sollen (SHRUN_DEFAULT) oder ob für Ihr Programm eine eigene MRU-Liste angelegt wird (SHRUN_NOMRU). Außerdem lässt sich mit dem letzten Parameter festlegen, ob die Schaltfläche "Durchsuchen..." angezeigt werden soll oder nicht (SHRUN_NOBROWSE).