Liste geöffneter Fenster



  • Wenn man STRG + ALT + ENTF drückt erhält man unter Windows eine Liste der geöffneten Anwendungen. Mit EnumWindows erhalte ich auch so eine Liste, nur sind dort allemöglichen Fenster, also auch die in der Systray. Nun versuche ich die rauszufiltern, sodass nur noch die drinn sind, wie beim Task Manager. Mein Code bis jetzt:

    #include <windows.h>
    #include <iostream>
    
    BOOL CALLBACK MyEWP(HWND Window, LPARAM lparam) {
        if(!IsWindowVisible(Window) || GetWindowLong(Window, GWL_STYLE) & WS_CHILD) {
            return true;
        }
        char text[1024];
        GetWindowText(Window, text, sizeof(text));
        static int counter = 0;
        std::cout << ++counter << ": " << text << std::endl;
        return true;
    }
    
    int main() {
        EnumWindows(MyEWP, 0);
    }
    

    Ausgabe:

    1:
    2: C:\Programme\CodeBlocks\console_runner.exe
    3: main6.cpp [Console application] - Code::Blocks v1.0
    4: C/C++ Forum :: Neues Thema schreiben - Mozilla Firefox
    5: Miranda IM
    6: Program Manager
    

    Mein Problem: Woher kommt dieser Program Manager?? In der Task-Liste ist er nicht drinn?! Zuerst dachte ich es wär der Task Manager, doch den habe ich schon geschlossen. Was kann das sein? Außerdem: Was bedeutet dieses Fenster ohne Titel am Anfang? Auch das ist in der Task-Manager-Liste nicht drinn. Wie kann ich die richtige Liste erhalten? (Ohne jetzt einfach diesen Program Manager und das ""-Fenster per strcmp rauszunehmen.)

    mfg.



  • hehe guck ma nen par Threads tiefer 😉 ganz am ende ist die lösung für dich...

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-148468.html

    p.s: IsWindowVisible()



  • ACHSO! tut mir leid war zu vorschnell...

    das erste ohne namen ist die Taskleiste. was der "Programm Manager" ist
    weis ich net.

    sorry nocheinmal wegen gerade!

    Andreas.



  • lol und direkt mein nächster post^^

    jedenfalls ist das fenster mit dem namen "Program Manager" genauso groß
    wie die Auflösung. also der gesamte desktop?!

    Program Manager left:0   top:0   left:1024       right:1280
    

    ich sollte echt weniger kaffee trinken und alles in einem post schreiben 😃
    nun gebe ich mich ersteinmal der Ruhe hin^^

    tschüü



  • Der Programmmanager enstspricht der Desktop, welcher eigentlich nur ein Listview ist.


Log in to reply