Andere Fenster auslesen und fokussiern
-
Hallo zusammen,
ich möchte alle Fenster auslesen die gerade offen sind (also die man in der taskleiste sieht). Und kann ich dann auch ein bestimmtes Fenster fokusieren?
Wie mache ich das? besitzt hierzu jemand einen Link zu einer Referenz?
Und ist es auch möglich wenn ein x beliebiges Fenster sich selbst einen Fokus gibt, das ich dabei auslesen kann welches Fenster das war/ist?
Wäre super wenn mir jemand helfen könnte.lg shou
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ 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.
-
Was willst Du auslesen? Was hast Du vor?
Sofern es sich um ein normales Edit Control handelt bzw. um ein Static, kannst Du WM_GETTEXT verwenden.Fenster enumerieren geht mit den Funktionen EnumWindows oder GetWindow...
-
sorry war nich richtig gestellt die frage.
ich meine fenster anderer programme.als Beispiel:
Programm A mit Fenster fA und Programm B mit Fenster fB laufen.
Mein Programm ist C.
Ideal wäre jetzt eine Funktion die mir alle fenster zurückgibt die zur zeit offen sind (also für den Anwender sichtbar)
readOpenWindows();
und zurück kriege ich ein Array[fA,fB]so meine 2. Frage hierzu ist, wenn das überhaupt geht bis hierher, ob ich dann dem Fenster auch nen focus() geben kann.
z.B.: fA.focus();also die erzeugten Fenster fA und fB wurden nicht von meinem Programm C erzeugt.
-
Naja besorg dir die Fenster-handles, dann kannst du auch einfach eine nachricht mit WM_SETFOCUS verschicken.^^
Handles von Fenstern kannst du über EnumWindows herausbekommen.PS: Deine Frage ist noch immer nicht konkret gestellt.^^
-
Nein man kann nicht WM_SETFOCUS verwenden um einem Fenster den Focus zu geben.
Das gehört in diese Kategorie: http://blog.m-ri.de/index.php/2007/12/24/die-unsitte-windows-interne-nachrichten-zu-versenden/Wenn es darum geht eine Applikation zu aktivieren ist SetActiveWindow der erste Weg!