Dressman1981
Grünschnabel
Hallo, ich habe die folgende Frage:
Ich möchte ermitteln, ob sich ein beliebiges Fenster (z. Bsp. ein Internetfenster) zur Laufzeit verändert hat.
Dafür kann ich das Fenster auf dem Desktop lokalisieren und die Kindelemente durchgehen.
Nun bräuchte ich einen geeigneten Lösungsansatz, wie ich vorgehen könnte um auf eine Veränderung im Fenster zu reagieren. Mir sind auf Anhieb 2 Möglichkeiten eingefallen, die aber wahrscheinlich beide nicht so 100%-ig funktionieren:
1. Ich könnte das Fenster suchen, mit ::SendMessage(HWND_Fensterelement, WM_GETTEXT, sizeof(Text), (LPARAM)Text); den Text ermitteln, alle Zeichenketten in einem Array speichern und nach einer vorgegebenen Zeit das Fenster erneut suchen und überprüfen, ob sich die Werte gegenüber dem Array verändert haben.
2. Ich könnte einen Screenshot erstellen und mit einer geeigneten Methode (über die Größe der Screenshotdatei ?) überprüfen, ob sich etwas verändert hat.
Ich denke aber, diese beiden Varianten sind nicht das Non-Plus-Ultra um auf eine tatsächliche Veränderung im Fenster zu reagieren.
Wie kann ich vorgehen um auf eine Änderung im Fenster zu registrieren?
Ich möchte ermitteln, ob sich ein beliebiges Fenster (z. Bsp. ein Internetfenster) zur Laufzeit verändert hat.
Dafür kann ich das Fenster auf dem Desktop lokalisieren und die Kindelemente durchgehen.
Nun bräuchte ich einen geeigneten Lösungsansatz, wie ich vorgehen könnte um auf eine Veränderung im Fenster zu reagieren. Mir sind auf Anhieb 2 Möglichkeiten eingefallen, die aber wahrscheinlich beide nicht so 100%-ig funktionieren:
1. Ich könnte das Fenster suchen, mit ::SendMessage(HWND_Fensterelement, WM_GETTEXT, sizeof(Text), (LPARAM)Text); den Text ermitteln, alle Zeichenketten in einem Array speichern und nach einer vorgegebenen Zeit das Fenster erneut suchen und überprüfen, ob sich die Werte gegenüber dem Array verändert haben.
2. Ich könnte einen Screenshot erstellen und mit einer geeigneten Methode (über die Größe der Screenshotdatei ?) überprüfen, ob sich etwas verändert hat.
Ich denke aber, diese beiden Varianten sind nicht das Non-Plus-Ultra um auf eine tatsächliche Veränderung im Fenster zu reagieren.
Wie kann ich vorgehen um auf eine Änderung im Fenster zu registrieren?