Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern... (https://www.delphipraxis.net/157543-minimieren-bei-%5Bwin%5D-%5Bd%5D-bzw-desktop-anzeigen-verhindern.html)

Z4ppy 15. Jan 2011 19:15

Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
 
Ich möchte verhindern, dass meine Form minimiert werden kann.
Das Icon in der Taskleiste kann ich ausblenden und den Knopf oben rechts deaktivieren. Auch [Win]+[M] ist recht einfach abzufangen.

Bleibt noch die Tastenkombination [Win]+[D] und "Desktop anzeigen", die (so denke ich) intern das Gleiche machen.
Soweit ich weiss, wird dabei ja der Desktop in den Vordergrund geholt. Ich müsste es also hinkriegen, dass meine Form noch weiter vorn ist ^^
Wie geht das?

MfG Z4ppy

PS (insbesondere an Luckie ^^): Ich will die Einwände gar nicht hören :D

Die Muhkuh 15. Jan 2011 19:18

AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
 
Hi,

viele Spiele sperren die Windows-Taste auf Wunsch.

http://www.swissdelphicenter.ch/de/showcode.php?id=1212
http://www.winfaq.de/faq_html/Conten...?h=tip0903.htm

Z4ppy 15. Jan 2011 19:40

AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
 
Naja, das wär dann ein bisschen Holzhammer, denn auch so nützliche Kombinationen wie [Win]+[E] oder [Win]+[R] wären nicht mehr möglich, sollen es aber noch bleiben ^^
Auch soll das generelle Verhalten von [Win]+[D] nicht verändert werden, sondern nur meine Form da bleiben ^^

MfG Z4ppy

Z4ppy 16. Jan 2011 01:50

AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
 
Ok, das Minimieren hab ich jetzt hingekriegt:
Delphi-Quellcode:
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOOWNERZORDER or SWP_NOACTIVATE);
:)

Nun ist es aber so, dass Win 7 ja das schöne Feature hat, dass man mit der Maus auf den Button ganz unten rechts gehen kann und dann wird der Blick auf den Desktop frei.
Logischerweise sollte da mein Fenster angezeigt werden, wird es aber nicht :?

Ausserdem möchte ich das Fenster nicht topmost haben... Es soll halt immer aufm Desktop sein, aber nicht vor allen anderen Fenstern :wall:
Ich müsste also obigen Code ausführen, wenn Win+D oder der Button unten rechts (Win 7) bzw. die Verknüpfung "Desktop anzeigen" (XP, Vista?) gedrückt wird.
Ersteres wäre über einen Tastatur-Hook möglich, das andere wird wohl schwieriger :(

Irgendwelche Ideen?

MfG Z4ppy

lbccaleb 16. Jan 2011 07:41

AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
 
Bearbeite in dem von Muhkuh ersten geposteten Link die Funktion "MsgFilterFunc" nach deinen Bedürfnissen!

Luckie 16. Jan 2011 09:02

AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
 
Vielleicht erklärst du mal, was das soll, dass der Benutzer nicht mehr an seinen Desktop drankommen soll. Mir erschließt sich der Sinn nicht.

Die Muhkuh 16. Jan 2011 09:23

AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
 
Zitat:

Zitat von Z4ppy (Beitrag 1074934)
PS (insbesondere an Luckie ^^): Ich will die Einwände gar nicht hören :D

:tongue:

Matze 16. Jan 2011 09:28

AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
 
Der Themenersteller bat speziell dich Michael, das nicht zu hinterfragen. Solange nicht offensichtlich Schadsoftware o.ä. entwickelt wird, finde ich so eine Bitte auch in Ordnung. Die Diskussion verläuft sich sonst komplett (sieht man ja nun) und bis eine Lösung da ist zieht sich das hin.
Hier weiß fast jeder, dass es meistens nicht gut ist, das Standardverhalten von Win zu ändern, aber Win macht das z.T. selbst.

Guck z.B. die Win7-Desktop-Gadgets an (oder wie man die nennt). Da gibt's eine analoge Uhr, CPU- und RAM-Anzeige und vieles mehr. Das verhält sich genau so, wie es hier gewünscht ist. Bei Win+D minimiert sich alles, aber die Gadgets bleiben im Vordergrund, auch über den Desktop-Icons. Beim Fahren mit der Maus über das Feld unten rechts ist es genauso.
Es gibt da sicher bessere Wege, die von Win7 offiziell unterstützt werden, aber wenn es auch unter XP & Co. laufen soll, muss man es manuell machen.

Luckie 16. Jan 2011 09:42

AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
 
Das Post scriptum habe ich übersehen. Aber warum sagt er zum Beispiel nicht, dass er so ein Gadget programmieren will, dass auch unter XP läuft? Und wenn es harmlos ist, könnte er es ja sagen. Also ich verstehe die Heimlichtuerei nicht. Würde bestimmt auch die Hilfsbreitschaft fördern, wenn man weiß um was es geht. Aber meinte wegen.

Sir Rufo 16. Jan 2011 11:09

AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
 
Eigentlich ist es doch ersichtlich, was er haben möchte:

Das Fenster soll quasi als Bestandteil des Desktops angezeigt werden.
Wenn man also den Desktop anzeigen lässt, dann muss auch das Fenster noch sichtbar sein (alle anderen weg)

Es gibt da eine Möglichkeit, das Fenster auf Desktopebene zu platzieren (statt HWND_TOPMOST HWND_DESKTOP ??? )

Dann liegt das (meine ich) sogar unter den Symbolen auf dem Desktop


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr.
Seite 1 von 3  1 23      

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