alle laufenden Tasks auslesen (ähnlich Taskleiste)
-
Hy,
ich möchte eine Art eigene Taskleiste schreiben, in der alle offenen Fenster drinstehen, ähnlich der Taskleiste von Windows. Ich programmiere mit der Qt Bibliothek, aber ich denke, dass hier ist ein reines C++ Problem. Sollte ich mich irren, dann verschiebt das Thema bitte in das Qt Forum.
Schon mal danke für die Hilfe!

-
C++ hat keine Ahnung von Tasks oder Fenstern - ergo ist das ein Problem des Systems. In der WinAPI könntest du dafür die Funktion EnumWindows() verwenden - ob Qt eine eigene Hilfsfunktion darum geschrieben hat, weiß ich nicht.
-
Dieser Thread wurde von Moderator/in CStoll aus dem Forum C++ in das Forum Andere GUIs - Qt, GTK+, wxWidgets verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Und wie mach ich das mit der WinAPI?
-
Wie ich schon sagte: EnumWindows() - die Funktion sucht dir alle Toplevel-Fenster heraus und übergibt ihre Handles an eine Callback-Funktion:
vector<string> vWindowNames; BOOL CALLBACK ListWindowName(HWND hwnd,LPARAM lParam) { char cText[255];//sollte groß genug sein GetWindowText(hwnd,cText,255);//hole den Fensternamen vWindowNames.push_back(cText); return TRUE; } ... EnumWindows(ListWindowName,0); ...
-
hm, vielen Dank, kann es zwar gerad nicht testen, aber es sieht gut aus.
Nur was machen die Zeile "vWindowNames.push_back(cText);" ? Könntest du mir das vllt. noch erklären? Ach ja, und gibt es auch eine Mögl., das Programmicon zu bekommen?
-
push_back C++-Basiswissen.

-
hrmpf, kannst du es mir trotzdem erklären, das Kapitel hab ich wohl übersprungen

Danke.
-
Nö, warum soll ich das extra erklären? Gibt genug Tutorials im Web und Topics im C++-Forum darüber.
-
Kurzfassung: Es fügt den Wert ans Ende des Vectors an. (wenn dir das nichts sagt, blättere in deinem Buch etwas zurück, bis du bei den STL-Containern ankommst)
(im Ergebnis hast du die Namen aller Toplevel-Fenster in vWindowNames gesammelt - und kannst damit machen, was du für richtig hältst)
-
was könnte es wohl heißen? da könnte man sogar mit ein wenig Englischkenntnissen drauf kommen...
Qt verwendet für seine Containerklassen neben push_back() auch append()
-
gut, jetzt weiß ich Bescheid. Danke an CStoll, die 2 kurzen Zeilen waren präzise und ausreichend.

Aber wie kann man nun auch das Programmicon rauskriegen?
-
hallo?

-
Wenn du wirklich nur aus Spaß so ein Programm entwickeln willst, dann solltest du mal die WinAPI-Hilfe durchstöbern und schauen, was es dort alles gibt!
-
ich will das nicht nur aus Spaß entwickeln, und zum "durchstöbern" der GESAMTEN WinAPI hab ich keine Zeit (Der Tag hat nur 24 Stunden)
-
Stell dir vor, unser Tag hat auch nur 24h.

-
tatsächlich!?

-
Poste bitte konkrete Probleme.
-
hrmpf, das ahb ich ja getan: Wie ermittle ich das Symbol der Anwendung?
(Ist in der Win taskleiste ja auch zu sehen)
-
Dieser Thread wurde von Moderator/in GPC aus dem Forum Andere GUIs - Qt, GTK+, wxWidgets in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.