![]() |
Welche Window Message bei Neustart von explorer.exe
Ich habe ein TListView, dessen ViewStyle der Benutzer ändern kann.
"Dummerweise" verwende ich auch den Tile-Modus, wofür ich TListView leicht ergänzen muss. Wenn nun explorer.exe neu gestartet wird, sendet es wohl irgend eine Window Message an TListView, die dieses den Modus anhand seiner originären Einstellungen neu setzen lässt. Da ich weiterhin mit TListView ohne eigene Klasse arbeiten will (ein class helper, der quasi nur ListView_SetView aufruft), muss ich die Window Message wohl in meiner Form "abfangen" und den Tile-Modus neu setzen. Weiß jemand zufällig, welche WM da gesendet wird? |
AW: Welche Window Message bei Neustart von explorer.exe
Zitat:
|
AW: Welche Window Message bei Neustart von explorer.exe
Da die Taskbar vom Explorer dargestellt wird und somit auch eine Tastbar erstellt wird, wenn der Explorer neu startet ...
Delphi-Quellcode:
.
RM_TaskBarCreated := RegisterWindowMessage('TaskbarCreated');
Das ergibt eine MessageID, ähnlich wie WM_WININICHANGE ... nur eben dynmisch. Statt auf RM_TaskBarCreated zu lauschen, kannst'e auch auf CM_WININICHANGE hören, denn Dieses (und Andere) löst Delphi intern aus, wenn RM_TaskBarCreated eintrudelt. > z.B. WndProc der Haupform oder TApplicationEvents.OnMessage |
AW: Welche Window Message bei Neustart von explorer.exe
Das habe ich auch schon überlegt. Nur wird die Taskbar ja nur neu erstellt, wenn du den Explorer, der für den Desktop zuständig ist, abschießt und wieder startest. Das kann ja wohl kaum gemeint sein.
|
AW: Welche Window Message bei Neustart von explorer.exe
Vielen Dank euch dreien!
Im TApplicationEvents.OnMessage habe ich nichts empfangen, aber da ich WndProc eh schon verwende - dort funktioniert ein reagieren auf TaskbarCreated wunderbar, jetzt überlebt ViewStyle = vsTile auch einen explorer.exe-Neustart unter XP :) Wenn ich die Webseite des richtigen Frank Abbing gefunden habe, habe ich dort leider keinen "Botschafter" gefunden, hört sich aber spannend an. Luckies Einwand ist einerseits korrekt - je nach User-Einstellung können mehrere Explorer-Instanzen laufen. Aber: es geht ja quasi um die Message, die die VCL den ListView-Style neu (anhand des FListView anstelle des Styles, den ich per WinAPI gesetzt habe) setzen lässt. Und das scheint nur beim Start des für die Taskbar zuständigen Explorer zu passieren, nicht bei getrennten Instanzen für Ordneransichten. |
AW: Welche Window Message bei Neustart von explorer.exe
Darf ich mal fragen, was die Benutzer deines Programms mit ihrem System machen, dass sie während dein Programm läuft den Explorer abschießen? Und das wohl regelmäßig andauernd, dass du das extra berücksichtigen musst. :roll:
|
AW: Welche Window Message bei Neustart von explorer.exe
Och, das war vor allem unter XP doch an der Tagesordnung, wenn man mal wieder wackeliges LAN hatte, und versehentlich im Dateiexplorer eine Netzresource angeklickt hat.
|
AW: Welche Window Message bei Neustart von explorer.exe
Dann muss ich ein anderes Windows XP benutzen.
|
AW: Welche Window Message bei Neustart von explorer.exe
Zitat:
Sherlock |
AW: Welche Window Message bei Neustart von explorer.exe
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 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