![]() |
Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Hi!
Diese Frage wurde schon öfters hier gestellt, aber noch nie beantwortet. Vielleicht gibt es ja inzwischen neue Erkenntnisse: Wie verhindert man, dass einem sein Formular minimiert wird, wenn der Benutzer [Win]+[D] bzw. [Win]+[M] drückt? Mit WM_SYSCOMMAND kommt diese Notification jedenfalls nicht... Danke im Voraus Ganymed |
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Warum willst du das verhindern? Wenn ich dies tastenkombinationen drücke, dann würde ich sehr ungehalten reagieren, wenn sich das Fenster nicht minimieren würde. :roll:
|
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Du könntest ja dein Programm einfach wieder wiederherstellen, nachdem es minimiert wurde, aber sowas sollte abschaltbar und auch standardmäßig abgeschaltet sein, damit Luckie nicht den Spaß verliert ;)
|
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Wo liegt eigentlich der Unterschied zwischen [Win]-[D] und [Win]-[M] :gruebel:
|
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
@Luckie: Mein Progi ist ein Kalender, der direkt auf dem Desktop liegt und nicht in der Taskbar angezeigt wird.
@himitsu: Klar könnte ich das. Wenn ich denn mal merken würde, dass es minimiert wurde! @Jelly: Ehrlich gesagt, habe ich keine Ahnung. Da es aber beide Möglichkeiten gibt, möchte ich auch beide abfangen. |
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Ist im Grunde genommen das Selbe
[win]+D = show Desktop [win]+M = Minimize all
Delphi-Quellcode:
weiteres siehe ... einfach mal in deinem Programm "Application." eingeben :zwinker:
Interface
Type TForm0 = Class(TForm) Procedure FormCreate(Sender: TObject); Private Procedure FormMinimize(Sender: TObject); Procedure FormRestore(Sender: TObject); End; Implementation {$R *.dfm} Procedure TForm0.FormCreate(Sender: TObject); Begin Application.OnMinimize := FormMinimize; Application.OnRestore := FormRestore; End; Procedure TForm0.FormMinimize(Sender: TObject); Begin //wurde minimiert End; Procedure TForm0.FormRestore(Sender: TObject); Begin //wurde wuederhergestellt End; End. |
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Zitat:
Win+M: Alle Fenster, die in der Taskleiste sind, minimieren |
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
@himitsu: Hast du den Quellcode ausprobiert? Auf die Idee bin ich nämlich auch schon gestoßen. Funzt bei mir aber nicht... (D7Ent, WinXPPro)...
|
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Ja, der der ist aus meinem ShoutBox-Reader und funktioniert hervorragend ^^ (selbes System und ohne SP's)
|
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Dann bin ich zu blöd das zu implementieren...
Code:
TForm1 = class(TForm)
//... private { Private declarations } // ... procedure ChatchMinimize(Sender: TObject); public { Public declarations } end; procedure TForm1.ChatchMinimize(Sender: TObject); begin ShowMessage('??'); WindowState := wsNormal; end; procedure TForm1.FormCreate(Sender: TObject); begin Application.OnMinimize := ChatchMinimize; end; |
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Zitat:
|
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Liste der Anhänge anzeigen (Anzahl: 1)
[OT]
Zitat:
Stell dir mal vor Dienste wären im Tray oder in der Taskbar zu sehen. Hiiillffe. :shock: Ist zwar noch keine übervolle Taskbar(siehe Bild), aber einige Tasks mehr und die Benutzerfreundlichkeit geht flöten. [/OT] Nicht immer so misstrauisch Luckie! :cheers: |
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Liste der Anhänge anzeigen (Anzahl: 1)
*hust* da gibt es abhilfe :zwinker:
|
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Zitat:
Zitat:
|
Re: Minimieren verhindern bei [Win]+[D] und [Win]+[M]
Hallo.
Ich bin dabei, ein ähnliches Programm zu schreiben, dass nicht minimiert werden darf. Es handelt sich dabei um eine Wallpaper-Erweiterung, so ähnlich wie eine Sidebar. Das Programm ist nicht in der Taskleiste und wird durch WIN+M nicht minimiert. Durch WIN+D verschwindet das Fenster aber - ohne, dass das OnMinimize-Ereignis aufgerufen wurde. Ich suche schon seit Stunden, habe aber zu WIN+D nichts herausgefunden. Ich habe Win XP Pro (SP2) und D7E. --- Übrigens: Es gibt zwischen WIN+D und WIN+M einige Unterschiede: WIN+M minimiert alle Fenster, die in der Taskbar angezeigt werden, vollständig, sodass man sie alle wieder von Hand aufmachen muss. WIN+D zeigt nur tempoär den Desktop - alle Fenster bleiben zwar maximiert, sind aber kurzzeitig in einer Art unsichtbarem Zustand. Bei nochmaligem Drücken der Tastenkombination werden die Fenster wieder sichtbar. Mir ist kein API-Ereignis bekannt, dass bei WIN+D ausgelöst wird. Bei "FormStyle = fsStayOnTop" bleibt das Fenster auf dem Desktop, auch bei WIN+D. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:58 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