![]() |
auf minimieren per LOGO + M reagieren
Hallo,
ich wolte euch mal fragen, wie das geht, das ich mein programm daruf reagieren lassen kann, wenn ich die logo taste und M drücke (oder auf "Desktop anzeigen" klicke). Das Programm wird ja dann minimiert aber Lukies Code
Delphi-Quellcode:
dunzt nicht so richtig, wenn ich meine tasten drücke.
procedure TForm1.WMSYSCOMMAND(var msg: Tmessage);
begin if msg.Msg = WM_SYSCOMMAND then begin case msg.WParam of SC_MAXIMIZE : ShowMessage('Juhu, ich werde maximiert.'); SC_MINIMIZE : ShowMessage('Hilfe, ich werde minimiert.'); end; end; inherited; end; ich hab gelsesen, dass das min WM_SIZE geht, was es aber nicht tut... |
Re: auf minimieren per LOGO + M reagieren
Ich meine mich erinnern zu können, dass das hier schon mal wo Thema war. Ich konnte den Thread aber irgendwie nicht auf die Schnelle finden.
Ergebnis war, wenn mich ned alles täuscht, dass bei diesem "Desktop Anzeigen" keine Messages an die Fenster verschickt werden, oder aber eine, die nicht/wenig bekannt ist/war. Folglich kann man so ohne weiteres fürchte ich nicht darauf reagieren, da Windows da offenbar von hinten durch die Brust was murkselt, aber halt nicht normal minimiert/maximiert. |
Re: auf minimieren per LOGO + M reagieren
ich had da auch schon was zu gefunden, bloß ging es darum LOGO + M auzuführen und nicht abzufangen....
hat denn sonst niemand ne idee? |
Re: auf minimieren per LOGO + M reagieren
Windows-Taste + M abzufangen könnte man ins OnKeyDown oder OnKeyPress machen.
Delphi-Quellcode:
ich weiß jetzt nicht, ob die doppelte Klammer um die GetAsyncKeyState-Abfragen nötig ist. Kannst du ja mal ausprobieren.
if key = Ord('M') and ((GetAsyncKeyState(VK_LWIN) < 0) or (GetAsyncKeyState(VK_RWIN) < 0)) then
ShowMessage('ich werde minimiert'); |
Re: auf minimieren per LOGO + M reagieren
Das hilft dann aber leider auch nicht, wenn man die Funktion via Icon ausser Taskleiste verwendet :?
|
Re: auf minimieren per LOGO + M reagieren
Hast Du die Funktion von Luckie mal in Deinem Mainform implementiert?
Kommt dort eine Aufruf an, wenn Du Logo+M drückst und Dein Programm im IDE-Debugger läuft? Gruß, Christoph |
Re: auf minimieren per LOGO + M reagieren
von lucky gehts im Debugger und in der normalen verwendung...
nur die funktion wird bei Windows-taste + M oder D nicht aufgerufen... jetzt hab ich notfalls in der registry den wert nowinkeys gesetzt, aber das ist auch nur ne pure notlösung... mit hooks hab ichs auch probiert, bin nur immer beim kopilieren der tutorials gescheitert, weil mir etliche units fehlern, die kein **** findet^^ :wall: :wall: :wall: naja mal schauen, ob jem ne lösung hat .... |
Re: auf minimieren per LOGO + M reagieren
Achtung: Win+M ist nicht "Desktop anzeigen"
denn bei mir bleibt Trillian und andere programme mit stay on top damit noch maximiert, obwohl bei "Desktop anzeigen" ALLES weg ist |
Re: auf minimieren per LOGO + M reagieren
Richtig - Win+D ist imho Desktop anzeigen, und Win+M ist "alle minimieren" oder so ähnlich ... macht das bei dir nen Unterschied, Jasper?
|
Re: auf minimieren per LOGO + M reagieren
ja, Trillian, ein chat programm bleibt oben bei Win+M. Bei Win+D nicht
ICQ bleibt übrogens bei beiden oben |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz