Visual Basic 6.0: Starten und Beenden von Anwendungen

Funktionsweise

Im Ereignis Form_Load weisen Sie Werte für zwei Variablen zu (sAppName und sAppPath), die den Namen und den Pfad der auszuführenden Anwendung speichern. Im Ereignis cmdStart_Click benutzen Sie den bekannten Shell-Befehl zum Starten der Anwendung. Im Ereignis cmdCheck_Click rufen Sie die Funktion IsTaskRunning (im Modul definiert) auf und geben an diese den Namen der Anwendung (Fenstername) weiter. Wenn die Funktion einen Wert True ausgibt, wird eine Meldung zur erfolgten Ausführung angezeigt. Wenn die Funktion einen Wert False ausgibt, wird eine Meldung zur nicht erfolgten Ausführung angezeigt. Im Ereignis cmdClose_Click rufen Sie EndTask (im Modul definiert) auf um die Anwendung zu beenden.

Überprüfen der Ausführung

Sehen wir uns nun einmal an, was in IsTaskRunning und EndTask geschieht. IsTaskRunning erhält als Parameter sWindowName den Fensternamen. Um festzustellen, ob eine bestimmte Anwendung ausgeführt wird, rufen Sie die API-Funktion FindWindow auf. Wenn die Funktion FindWindow die Ausgabe 0 ergibt, wurde das Fenster nicht gefunden, d.h. die Anwendung wird nicht ausgeführt. Wird ein anderer Wert ausgegeben, bedeutet dies, dass die Anwendung ausgeführt wird.

Die Funktion EndTask erhält ebenfalls den Fensternamen als Parameter für sWindowName. Diese Funktion überprüft, ob die Anwendung mit dem Fensternamen sWindowName ausgeführt wird, ebenfalls unter Nutzung der API-Funktion FindWindow. Wenn das Fenster nicht gefunden wird, müssen Sie keine weiteren Schritte durchführen, da in diesem Fall die Anwendung nicht ausgeführt wird. Wenn dagegen die Anwendung ausgeführt wird, müssen Sie die API-Funktion IsWindow aufrufen, um festzustellen, ob der Handler des Fensters gültig ist. Wenn nicht, brechen Sie einfach den Vorgang ab. Andernfalls schließen Sie die Anwendung. Zum Schließen einer Anwendung verwenden Sie GetWindowLong, eine API-Funktion, die aus der Fensterstruktur Daten zum jeweiligen Fenster abruft und so feststellt, ob das Fenster deaktiviert wurde (WS_DISABLED).

Die API-Funktion PostMessage schließt die Anwendung und sendet eine Mitteilung an die Warteschlange des angegebenen Fensters (TargetHwnd). In diesem Beispiel entspricht die PostMessage mit dem Argument WM_CLOSE dem Aufruf des Befehls Close im System-Menü für das jeweilige Fenster.

Bei Fehlern zeigt die Funktion ShowError benutzerfreundlich entsprechende Meldungen an. Für die Funktion sind zwei Argumente erforderlich:

  • sText: der Text der anzuzeigenden Fehlermeldung
  • sProcName: der Name des Verfahrens bzw. der Funktion, in dem bzw. in der ein Fehler auftrat

ShowError zeigt eine Meldung an, die die Fehlernummer sowie die Daten aus sText und sProcName enthält.

In diesem Artikel habe ich eine einfache Methode für das Starten, die Statusprüfung und das Beenden von Anwendungen mithilfe von API-Tools vorgestellt, mit der feststellbar ist, ob die Anwendung ausgeführt wird. Den Programm-Code zu diesem Artikel finden Sie hier.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

2 Kommentare zu Visual Basic 6.0: Starten und Beenden von Anwendungen

Kommentar hinzufügen
  • Am 20. Dezember 2008 um 19:06 von horst schröder

    Starten und beenden von Anwendunbgen
    Die Idee ist ja ganz nett,aber unter Vista läuft es nicht und wenn man die Fehler nicht beseitigt gehts auch sonst nicht.
    is halt wie alles ausm Osten ,halbgares zeug.

    • Am 27. Februar 2010 um 15:05 von erst lesen dann posten

      AW: Starten und beenden von Anwendunbgen
      Es funktioniert unter Vista nicht, da der Beitrag von 2002 ist und somit Vista noch nicht vorhanden war^^

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *