Fremde, aktive Fenstertitel auslesen
-
Hi liebes Forum, ich bin in C++ recht neu und arbeite mich grad seit einer Woche so langsam ein. Habe seit 2 Jahren in PHP Programmiert und leider auch nur prozedual und muss mich grad erstmal komplett neu zurecht finden in C++. Die Grundlagen hab ich so langsam auch verstanden und möchte nun wissen mit welcher Funktion man den Namen externer Fenster, die grade aufgerufen wurden herausfinden kann. Beispielsweise wenn ich jetzt Solitär öffne soll mir das Programm nun "Solitär" anzeigen oder sowas in der Art, also dass ich das auf jedenfall weiter im Programm verwenden kann, mit welcher Funktion ist das möglich? Am besten ein Code Beispiel mit posten zum leichteren Verständnis.

mfg: Hendrik
-
Gehört eher ins WinApi-Forum.
Du solltest dir mal die Funktion GetWindowText() anschauen, mit der kann man die Titel von Fenstern auslesen. Dazu brauchst du ein Fenster-Handle (hWnd). Da kommst du über verschiedene Funktionen ran, wie z. B. GetForegroundWindow(), das dir das Handle des aktuell fokusierten Fensters gibt.
Google spuckt dazu auch ne Menge aus

-
Dieser Thread wurde von Moderator/in Phoemuex 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.
-
Hilfreich: FindWindow()/FindWindowEx()
-
Max0r schrieb:
Du solltest dir mal die Funktion GetWindowText() anschauen
Und du solltest dir mal durchlesen, was er will und was auf der von dir verlinkten Seite steht:
GetWindowText cannot retrieve the text of a control in another application
-
EnumWindows(), SendMessage(..., WM_GETTEXT, ..., ...)
-
_Luckie schrieb:
Max0r schrieb:
Du solltest dir mal die Funktion GetWindowText() anschauen
Und du solltest dir mal durchlesen, was er will und was auf der von dir verlinkten Seite steht:
GetWindowText cannot retrieve the text of a control in another application
Wenn du es versucht und alles gelesen hättest, wärst du zu der Erkenntnis gekommen, dass man Titel von fremden Fenstern mit GetWindowText() problemlos auslesen kann... Da steht nämlich auch noch:
If the target window is owned by another process and has a caption, GetWindowText retrieves the window caption text.
-
Naja, es stimmt so einigermassen. Es ist auf jeden Fall die Empfohlene Vorgehensweise um ein "Hängen" der Applikation zu verhindern. Es liegfert aber manchmal das falsche Ergebniss:
http://blog.kalmbach-software.de/de/2009/10/09/getwindowtext-und-wm_gettext/