Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Restore über Postmessage funktioniert nicht (https://www.delphipraxis.net/112646-restore-ueber-postmessage-funktioniert-nicht.html)

TonyR 24. Apr 2008 21:44


Restore über Postmessage funktioniert nicht
 
Hallo alle miteinander,

Ich möchte nur, dass wenn eine zweite Instanz von meinem Prog gestartet wird, dass es die erste MAXIMIERT...

Problem: Das funktioniert, aber nur das Zeigen (denn es ist vorher hidden) des Windows der ersten Instanz, dann lässt sich dieses Fenster aber nicht mehr minimieren, ein RESTORE fehlt noch,

doch folgender code funktioniert nur teilweise :(
Delphi-Quellcode:
Windows.ShowWindow(appH, SW_Normal); //funtioniert
postmessage(appH,WM_SYSCOMMAND,SC_RESTORE,0); //postmessage gibt -1, also false zurück
Windows.SetForegroundWindow(appH); //funktioniert
Wie bekomme ich es hin, dass ich das Fenster meiner ersten Instanz nach erfolgreichem SHOW auch wieder Minimieren kann?
Entweder es gibt noch eine andere Lösung, oder ihr verratet mit, warum das Postmessage nicht funktioniert (das richtige Handle ist es ja).

Danke schonmal, ich hoffe es kommt was bei raus :)

toms 25. Apr 2008 05:30

Re: Restore über Postmessage funktioniert nicht
 
Hallo

Du nimmst wahrscheinlich das Handle der Main Form (appH)
Dieses zu nehmen ist falsch bei Delphi Anwendungen.
Delphi versteckt normalerweise die Hauptform und minimiert stattdessen das Applications- Fenster. Probiere dem Applications Fenster ein SC_RESTORE zu senden.

Delphi-Quellcode:
appH := FindWindow('TFomXY', nil);
ParentH := GetWindowLong(appH, GWL_HWNDPARENT);

ShowWindow(ParentH, SW_RESTORE);

spaxxn 25. Apr 2008 06:20

Re: Restore über Postmessage funktioniert nicht
 
http://www.delphi-library.de/topic_v...8815564256310a

Warum verwendet eigentlich kaum noch jemand due Suchfunktionen der Foren oder Google?

TonyR 25. Apr 2008 16:20

Re: Restore über Postmessage funktioniert nicht
 
Danke Toms, funktioniert,

die Variante von spaxxn ist auch gut, aber ich krempel jetz nicht nochmal alles um^^

ach und @spaxxn: Ich durchsuche grundsätzlich nur mein Lieblingsdelphi-Forum ;-)

Wie gesagt, danke an euch :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz