alle offenen Fenster auflisten
-
Guten Abend,
Ich wollte fragen wie man Handels aller offener Fenster bekommt,
also wie man sich die "Namen" alle offenen Fenster auflisten kann.Danke, Andreas
-
Hallo,
GetWindow oder EnumWindows könnte dafür nützlich sein.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/getwindow.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/getforegroundwindow.aspMfG,
Grail
-
ne die funktionen
HWND GetForegroundWindow(VOID);
und
HWND GetWindow( HWND hWnd, UINT uCmd );
liefern mir nicht das was ich möchte denke ich.
ich möchte halt alle fenster haben! kann man die fenster nicht anhand der "exe-datei" oder der PID herrausfinden?
-
Grail hat es dir doch schon verraten!?
Das "oberste" Fenster ist der Desktop ( = GetDesktopWindow() ), andere Fenster findest du mit FindWindow() bzw. FindWindowEx().
Alle Top-Level-Windows findest du mit EnumWindows().siehe MSDN!
Greetz, Swordfish
-
ja aber das verstehe ich irgendwie nicht!
bei FindWindow() muss ich doch immer den namen des fensters angeben!
aber ich habe diese namen doch nicht!! ich weis doch nicht welche fenster
alle offen sind das möchte ich ja herrausfinden!Danke...
-
Lies die MSDN. Du hast hier schon Tipps zur Genüge bekommen. Damit solltest du es problemlos hinkriegen. Wenn du Probleme mit deinem Ansatz hast kannst du gerne wieder posten. Ein bisschen Eigeninitiative muss man beim Programmieren schon mitbringen. Wenn man sich immer alles von anderen auf dem goldenen Teller servieren lassen will, kann man sich kaum selbst als Programmierer bezeichnen.
-
hmm ahso dann werde ich wohl nochmal weiter suchen...
dann muss das problem wohl an mir liegen ich dachte ihr hättet mich
falsch verstandendanke schonmal!!
-
so ich bin nun fündig geworden!
BOOL EnumWindowsProc(HWND hWnd, long lParam) { char Buff[255], NameOfClass[255]; GetWindowText(hWnd, Buff, 254); GetClassName(hWnd, NameOfClass, 254); cout << "Window Text: " << Buff << "\t" << "Class Name: " << NameOfClass << endl; return TRUE; } void main() { EnumWindows((WNDENUMPROC)EnumWindowsProc, 0);
beim ausführen wird auch alles brav angezeigt - allerdings kommt
dann ein laufzeitfehler!!irgendetwas mit "Debug Error!..." hmm?
also einmal fände ich es nett wenn ihr mit sagen könntet warum ein laufzeitfehler auftritt.
und meine 2te frage - wie kann ich erkennen ob es ein fenster ist welches man auch sieht! also welches sich in meiner "leiste" befindet
danke euch schommal!
-
das gibt einen fehler weil die funktion als CALLBACK definiert sein muss, sonst geht beim aufräumen des stacks was schief!
BOOL CALLBACK EnumWindowsProc(HWND hWnd, long lParam)
-
hey ok vielen dank der fehler ist behoben!
wie kann ich denn herrausfinden ob ein fenster sichtbar ist? also ob
es ein fenster ist, welches sich auch in der taskleiste befindet?danke...
-
IsWindowVisible