ShowWindow: Fenster in den Vordergrund und aktivieren
-
Hi,
ich muss für die Schule ein Referat über Windowsprogrammierung erstellen. Dabei werde ich ein Bsp mit ShowWindow vorführen. Ich will das Fenster vom Internetexplorer, das minimiert ist, in den Vordergrund geben, so dass es aktiviert ist.
Folgenden Code habe ich:
hwndWindow = FindWindow(NULL,TEXT("news.orf.at - Windows Internet Explorer")); ShowWindow(hwndWindow,SW_SHOW);
Ich bekomme eine gültigen Handle von FindWindow zurück, nur macht ShowWindow nix. Es wird das Fenster in "Vorschaumodus" geöffnet (Bei Vista, wenn man in der Taskleiste mit der Maus hinfährt), dabei wird nicht der Inhalt angezeigt, sondern alles nur einfärbig.
Was mach ich falsch? Benutze ich das falsche Fenster?
Danke,
LG Tom
-
Versuch es doch mal so:
ShowWindow(hwndWindow,SW_RESTORE); // Restore SetForegroundWindow(hwndWindow); // Fenster in der Fordergrund bringen
-
Wenn das Fenster nicht nur im Vordergrund sein soll, sondern wie Du in der Überschrift geschrieben hast, auch aktiviert sein soll, dann zusätzlich noch:
SetActiveWindow(HANDLE)
Also insgesamt dann:
ShowWindow(hwndWindow,SW_RESTORE); // oder SW_MAXIMIZE als 2. Parameter SetForegroundWindow(hwndWindow); SetActiveWindow(hwndWindow);
Der 2. Parameter "SW_RESTORE" im ShowWindow() stellt das Fenster in der ursprünglichen Größe wieder her, "SW_MAXIMIZE" stellt das Fenster maximiert wieder her. Es gibt insgesamt 12 Parameter, siehe ggf. hier: http://msdn.microsoft.com/en-us/library/ms633548.aspx
-
Super, danke.
D.h. mit ShowWindow stellt er das Fenster nicht automatisch in den Vordergrund sondern stellt es wiederher.
Nochmals Danke!
-
Tom16 schrieb:
Super, danke.
D.h. mit ShowWindow stellt er das Fenster nicht automatisch in den Vordergrund sondern stellt es wiederher.
Nochmals Danke!
Ja, unter anderem. ShowWindow() ist aber mehr.
Mit ShowWindow() kannst Du ein Fenster, dessen Handle zu kennst, z.B.:
- minimieren (SW_MINIMIZE),
- verstecken (SW_HIDE),
- maximieren (SW_MAXIMIZE),
- wiederherstellen (SW_RESTORE),
- aktivieren (SW_SHOW),und halt noch vieles mehr, siehe Link in meinem vorherigen Post.