Seite 1 von 1
MessageBox in einem Fenster finden
Verfasst: Montag 8. Oktober 2018, 15:47
von dennbas
Hallo zusammen,
ich möchte in einem gefunden Fenster schauen ob dort eine MsgBox geöffnet ist.
Das Fenster um das es geht, habe ich bereits gefunden, nur wie kann ich da nun schauen ob da eine MessageBox ( Fehlermeldung ) offen ist ?
Im Voraus vielen Dank.
VG,
Dennis
Re: MessageBox in einem Fenster finden
Verfasst: Montag 8. Oktober 2018, 15:52
von __deets__
Da fehlt ganz viel Kontext. Betriebssystem, benutzte Bibliotheken, am besten Code den du schon hast.
Re: MessageBox in einem Fenster finden
Verfasst: Montag 8. Oktober 2018, 15:54
von pixewakb
Hilft Dir so etwas:
https://pyautogui.readthedocs.io/en/lat ... -functions
Nur mal zur Info (wie __deets__ ): Du könntest genauer beschreiben, was du schon gemacht hast, wie weit du gekommen bist (Quellcode-Ausschnitt) und was du eigentlich willst. Momentan ist das für andere wahrscheinlich eher raten...
Re: MessageBox in einem Fenster finden
Verfasst: Montag 8. Oktober 2018, 16:33
von dennbas
OS ist Windows. Lib zum suchen der Fenster win32gui.
Code habe ich gerade nicht da.
Ich habe nen Script was alle Fensternamen ausgibt und bekomme vom gewünschten Fenster das Handle.
Mit diesem Handle will ich nun wissen ob das gefunden Programm aktuell eine Fehlermeldung ausgibt.
Re: MessageBox in einem Fenster finden
Verfasst: Montag 8. Oktober 2018, 16:53
von __deets__
Ich bezweifle stark, dass das (so) geht. Du kannst ggf irgendwelche window flags auswerten in der Hoffnung, das die spezifisch sind. Aber was als Inhalt ausgegeben wird ist ja völlig beliebig. Wenn ich will, male ich unter Umgehung aller Standardfunktionen einfach Pixel rein, die eine Fehlermeldung darstellen.
Wenn kannst du probieren den Inhalt als Pixelbuffer abzugreifen & zu schauen, ob da was matcht.
Re: MessageBox in einem Fenster finden
Verfasst: Montag 8. Oktober 2018, 17:22
von Sirius3
@__deets__: es ist doch recht unwahrscheinlich, dass ein bestimmtes Programm Pixel malt.
@dennbas: Wenn Du schon die Prozess-ID hast, dürfte es doch kein Problem sein, dazu auch alle Msg-Windows zu finden und anhand des Titels, etc. festzustellen, ob das eine Fehlermeldung ist. Das ist wohl das konkreteste, was man zu Deinen vagen Andeutungen sagen kann.
Re: MessageBox in einem Fenster finden
Verfasst: Montag 8. Oktober 2018, 18:01
von dennbas
erstmal vielen Dank für die Tipps.
also Option 1 wäre zwei Bilder zu vergleichen um damit herauszufinden ob die Fehlermeldung sichtbar ist oder nicht.
Option 2 wäre ein Logg aller "Msg-Windows" und darüber zu merken, dass eine Fehlermeldung ausgegeben wurde.
Zu 1 wäre dann wohl mit PyAutoGUI
wie könnte ich 2 umsetzen ?
Re: MessageBox in einem Fenster finden
Verfasst: Montag 8. Oktober 2018, 18:17
von Sirius3
So wie Du geschrieben hast, hast Du schon alles um Option 2 umzusetzen. Option 1 ist nicht wirklich sinnvoll umsetzbar.
Re: MessageBox in einem Fenster finden
Verfasst: Dienstag 9. Oktober 2018, 12:31
von dennbas
Hallo erneut,
hab da nun ein wenig rumversucht mit MS Spy++ .
Leider ist es so dass das Fenster ein Java-Applet ist so dass die MSGS recht spärlich sind, da das Applet ja in einer art Sandbox läuft...
Daher bleibt wohl doch nur die Screen Lösung, oder ?
Re: MessageBox in einem Fenster finden
Verfasst: Dienstag 9. Oktober 2018, 13:41
von __blackjack__
@Sirius3: Ist also doch nicht so unwahrscheinlich das ein Programm Pixel malt.

Re: MessageBox in einem Fenster finden
Verfasst: Dienstag 9. Oktober 2018, 13:55
von Sirius3
Ich dachte, es geht um Windows, nicht um Java.
Re: MessageBox in einem Fenster finden
Verfasst: Dienstag 9. Oktober 2018, 14:17
von dennbas
ja sorry, dachte bis heute morgen auch es sei eine normale WIN-APP
Re: MessageBox in einem Fenster finden
Verfasst: Dienstag 9. Oktober 2018, 17:02
von dennbas
also gelöst wurde es nun mit pyautogui , eine Ecke der Fehlermeldung als PNG gespeichert, dann nach jedem Klick suche ich 20 sec nach dem Bild wenn er nichts findet, weiß ich, dass die Fehlermeldung nicht aufgepoppt ist.
Danke nochmal an alle Beteiligten.
Re: MessageBox in einem Fenster finden
Verfasst: Dienstag 9. Oktober 2018, 17:08
von snafu
Sirius3 hat geschrieben: Montag 8. Oktober 2018, 18:17
So wie Du geschrieben hast, hast Du schon alles um Option 2 umzusetzen. Option 1 ist nicht wirklich sinnvoll umsetzbar.
Anscheinend schon:
https://pyautogui.readthedocs.io/en/lat ... nshot.html