Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#8

Re: Explorerabsturz => TNA-Icons verschwunden

  Alt 18. Nov 2004, 13:09
Moin!

Mein kleines Beispiel Programm macht dies auch und um auf die genaue Antwort einzugehen:

1. Mit RegisterWindowMessage() kann man sich die genaue Message ID holen, die der Explorer einem zuschickt. Dadurch, dass diese unterschiedlich ist, kann man keine Botschaft-Behandlungsroutine schreiben, da die Message ID nicht konstant ist. Auf Grund dessen, muss man...
2. ... auf die WndProc() zurück greifen und dort die Message abfangen und drauf reagieren.

Im Form Create die Message ID besorgen und in einer Variablen sichern:
  fTaskBarNewReg := RegisterWindowMessage('TaskbarCreated'); Und dann in der überschriebenen WndProc() einfach auf die Message reagieren:
Delphi-Quellcode:
Procedure TForm1.WndProc(var Message: TMessage);
Begin
  If ( Message.Msg = fTaskBarNewReg ) Then
  Begin
      // folgender Code ist zwar spezifisch zu dem oben verlinkten Beispielprojekt, aber im allgemeinen dann hier
      // das Try Icon neu registrieren...
    fIconAdded := False;
    TaskBarAddIcon;
  End;

  Inherited WndProc(Message);
End;
MfG
Muetze1
  Mit Zitat antworten Zitat