Ich versuche, das sichtbare Windows von allen derzeit laufenden Prozessen zu verfolgen. Mein Programm interagiert mit diesen Fenstern, und je schneller es sie erkennen kann, desto besser. Mein Ziel ist es, sichtbare Fenster an eine bestimmte Stelle auf dem Bildschirm zu verschieben, bevor sie überhaupt in der Standardposition gezeichnet werden, wenn das möglich ist. Wenn nicht, möchte ich sie so schnell wie möglich verschieben, nachdem sie erstellt wurden.
Momentan zähle ich die sichtbaren Fenster mit EnumWindows (p/invoked von user32.dll) in einer Schleife mit einer möglichst kleinen Verzögerung zwischen den Iterationen auf, die ich rechtfertigen kann.
Ich bin auf der Suche nach einer Methode, die es mir ermöglicht, auf ein Ereignis "Fenster öffnet sich" zu warten, anstatt ständig abzufragen.
Gibt es irgendwelche Methoden, um dies zu erreichen?