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:
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.
Page: 1 2
DeepL Voice ermöglicht Live‑Übersetzung von Meetings und Gesprächen in 13 Sprachen.
Betroffen sind Windows und Windows Server. Microsoft patcht aber auch Schwachstellen in Excel, Word und…
Es lässt sich um bis zu 50 Prozent dehnen. Allerdings besitzt es eine deutliche geringere…
Allerdings nimmt auch die Resilienz gegenüber Cyberattacken zu. Das BSI hat außerdem die Cybersicherheit anstehender…
Es ist das größte Wachstum in einem Jahr seit 2021. Unter anderem lässt das Interesse…
Magento zählt zu den führenden Shopsystemen in der Welt. Es punktet mit hoher Flexibilität und…