Überwachen, ob ein Fenster existiert



  • Hallo,
    habe in mein Programm den folgenden Thread integriert:

    VOID Thread(PVOID pvoid)
    {
    	while(!FindWindowEx(NULL, NULL, NULL, "name"))
    		Sleep(1000);
    
    	MessageBox(NULL, "Window has been found!", WINAPP, MB_ICONINFORMATION);
    }
    

    Klappt auch, aber meine Frage ist, ob man das auch eleganter lösen kann. Danke!



  • Wirst du nicht von MessageBoxen zugedröhnt immerhin läuft der Thread nach jedem Durchlauf doch nur 1000 Milisekunden = 1 Sekunde im Leerlauf. Oder ist die Angabe in einer anderen Einheit.
    http://www.convertworld.com/de/zeit/Sekunden.html

    mfg C-Chris.

    Die unten genannten Bücher kann ich nur für den Einstieg in die Windowspieleprogrammierung mit C++ und DirectX empfehlen:



  • Wirst du nicht von MessageBoxen zugedröhnt immerhin läuft der Thread nach jedem Durchlauf doch nur 1000 Milisekunden = 1 Sekunde im Leerlauf. Oder ist die Angabe in einer anderen Einheit.

    Der Thread wird nach dem Aufruf der MessageBox "natürlich" beendet.
    MessageBox gehört nicht mehr zur while- Schlaufe.

    Cheers



  • EnumWindows, aber eleganter ist das auch nicht besonders... . Wenn es um ein Fenster handelt, was Du (programmtechnisch) anpassen kannst, kannst Du ja einen entsprechenden Mechanismus verankern. In allen anderen Fällen, gibt es keinen anderen Weg.


Anmelden zum Antworten