![]() |
AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
Vielleicht wäre es möglich das ganze ganau so zu machen wie der Explorer, praktisch auf der selben Ebene. Ich kann mir allerdings vorstellen, dass Windows nur einen "Explorer" zulässt.
Edit: nicht möglich, da die windows-taste vom explorer gehandelt wird. d.h. er setzt sich selbst in den Vordergrund wenn die Tasten gedrückt werden. Man müsste also überwachen wann der explorer im vordergrund ist und dann das eigene Fenster nach oben setzen. Wie wäre das abprüfen mit einem Timer? |
AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
Und wenn drei, vier Explorer geöffnet sind?
|
AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
@luckie: es geht um das fenster mit der id 00000001 das ist das Desktop fenster, wo auch das hintergrundbild mit drin ist.
Die Id hab ich übrigens von Property Edit. Das Fenster mit einem eigenen Prog herauszusuchen sollte also nicht allzu schwierig sein. |
AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
Die ID ist aber nicht eindeutig. Jeder Programmierer kann nach gut Dünken IDs für seine Fenster vergeben. Aber da der Desktop Explorer als erster Explorer Prozess gestartet wird, müsste er von allen Explorer Instanzen, die Instanz mit der niedrigsten ID sein.
|
AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
So, nun bin auch ich wieder wach :D
Um dich zu beruhigen, Luckie: ja, mein Programm soll ein Gadget werden und zwar eines, das aus Winamp den aktuellen Song ausliest und dann auf dem Desktop anzeigt. Die Lösungen über Rainmeter oder gar die Windows Sidebar gefallen mir nicht... @lbccaleb: Auf [Win]+[D] könnte ich damit reagieren, ja. Nicht aber auf Desktop anzeigen... Ausserdem ist es ja so, dass durch erneutes Drücken von [Win]+[D] der Effekt wieder aufgehoben wird. Aber nicht nur dann, sondern auch, wenn ein beliebiges Fenster wiederhergestellt wird. Wie soll ich denn bittesehr darauf reagieren können? :? @Sir Rufo: So etwas wie HWND_DESKTOP habe ich nicht gefunden. Laut ![]() HWND_BOTTOM (das Fenster gerät dann aber hinter den Desktop, vermute ich - bei meinem Versuch wurde es jedenfalls gar nicht mehr angezeigt) HWND_NOTOPMOST (dann ist das Fenster zwar nicht ganz vorne, wird aber bei [Win]+[D] versteckt) HWND_TOP (selbes Problem wie bei HWND_NOTOPMOST) HWND_TOPMOST (siehe oben) Möglicherweise könnte ich direkt auf den Desktop zeichnen. Aber das finde ich nicht eine allzu hübsche Lösung... @WM_CLOSE: Mit dem Timer überprüfen, ob der Desktop im Vordergrund ist und dann das Fenster auf TOPMOST stellen, ansonsten auf NOTOPMOST? Ja, wäre wohl eine Möglichkeit... Aber wirklich schön ist das auch nicht und ich kann mir nicht vorstellen, dass die Windows Sidebar das so macht :? Btw: Ich hab natürlich bereits via Google nach "Delphi Gadget" usw. gesucht, leider findet die Tante da aber immer nur Anleitungen, wie man mit Delphi Windows Sidebar Gadgets oder Google Gadgets basteln kann :? MfG Z4ppy |
AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
Zitat:
|
AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
du könntest ein child-Fenster des Desktops erzeugen, das hab ich grad mit einem edit ausprobiert (Code aus dem thread
![]()
Delphi-Quellcode:
guck dir am besten dazu die nonVCL themen an
CreateWindowEx(WS_EX_CLIENTEDGE, 'edit', 'Edit2', WS_VISIBLE or WS_CHILD or ES_PASSWORD, 128, 408, 121, 21, $40314{hier das richtige handle einfügen}, 0, HINSTANCE, nil);
PS: ich habe es mit SetWindowLong usw probiert und bin gescheitert. (Das muss aber nichts heissen) |
AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
@Luckie:
Ich hab schlicht nicht dran gedacht das zu erwähnen :stupid: :lol: Nun, hast du auch noch etwas zum Thema beizutragen? @WM_CLOSE: Oder via SetParent (user32.dll) direkt den Parent setzen? Müsste ja wohl auch funktionieren, wenn denn die Methode geht. MfG Z4ppy |
AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
Das hab ich probiert, hat bei mir nicht funktioniert,ich konnte die anwendung immernoch minimieren, und hab es nach 30 min aufgegeben.
Du kannst es ja mal selbst probieren. Viel glück.:thumb: PS: Muss das prog auch auf "alten" BS oder wäre es nicht einfacher gleich ein Gadget zu proggen? |
AW: Minimieren bei [Win]+[D] bzw. "Desktop anzeigen" verhindern...
Und wo liegt das Problem bei den Gadgets? - Nun, du brauchst einen Webservice (z.B. IdHTTPServer) und kannst dein Gadget nach Windows-Standards entwickeln. Das Gadget macht intern AJAX-Abfragen auf deinen HTTPServer und dein Progrämmchen, welches still und leise im Hintergrund mitläuft, holt sich die Daten von Winamp.
Einziges Problem dürfte das Schließen sein, weil Desktop Gadgets meiner Meinung nach dafür ausgelegt sind, 100% der Zeit auf dem Desktop zu verbringen. Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 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