[VB5] Fenster von anderen Anwendungen immer im VG

Hallo!

Ich möchte gerne ein Programm schreiben, das bestimmte Fenster immer in den Vordergrund setzt. Diese Fenster sollen aber auch von anderen Anwendungen sein. Z.B. möchte ich mit einem Klick den Windows Explorer immer im Vordergrund haben. Ist dies mit C++ oder besser Visual Basic 5 machbar? Danke

mmhh…
ich wüsste nicht wie das gehen soll. Mit SetWindowLong kann man dieses für Fenster, die zum gleichen Prozess wie die aufrufende Routine gehört setzen. Für Fremdprozesse bin ich überfragt…

Das Problem ist, wie Du die Fenster, die Du brauchst „findest“. Problematisch wird es vorallem dann, wenn jemand die selbe Anwendung mehr als einmal gestartet hat.

Die einfachste Methode ein Fenster zu finden geht mit FindWindow - dem uebergibst Du als erstes Argument den Klassennamen (den bekommst Du z.B. mit speziellen Hilfsprogrammen, wie dem Spy++ oder WinSight heraus) und als zweites Argument kannst Du den Fenstertitel angeben oder auch NULL.

Eine andere Methode, um ein Fenster zu finden ist auch mit EnumWindows.

Wenn Du dann das Fensterhandle hast, dann kannst Du es mit SetForegroundWindow(Handle) ganz einfach nach vorne bringen. Es gibt noch weitere Funktionen, die was aehnliches tun, z.B. BringWindowToTop(Handle) oder SetActiveWindow(Handle).

Aber das Hauptproblem wird sein, das Fenster zu finden, das Du nach vorne bringen willst.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]