Results 1 to 9 of 9

Thread: Met NLDTrayIcon wil Windows niet afsluiten.

  1. #1

    Met NLDTrayIcon wil Windows niet afsluiten.

    Wanneer ik gebruik maak van NLDTrayIcon wil Windows (XP) niet meer afsluiten. Het lijkt wel dat hij de message ontvangt maar niet door geeft.
    Ik gebruik de volgende code om de WM_ENDSESSION of WM_QUERYENDSESSION message afvangen:

    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, ComCtrls, OleCtrls;
    
    type
      TForm1 = class(TForm)
      private
        { Private declarations }
        procedure WMQueryEndSession(var Msg: TWMQueryEndSession); message WM_QUERYENDSESSION;
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.DFM}
    
    procedure TForm1.WMQueryEndSession;
    begin
      Msg.Result := Integer(True);
    end;
    end.
    Doe ik nu iets fout of ben ik nog iets vergeten.

    Groetjes Greta
    Niets is zo gemakkelijk als het lijkt.

  2. #2
    notice-itter SvG's Avatar
    Join Date
    Apr 2002
    Location
    's-Hertogenbosch
    Posts
    4,865
    Hoi,

    Je hebt gelijk, de message word wel opgevangen maar niet behandeld.. Een tijdelijke oplossing is:
    In de CaptureMSG procedure ervoor zorgen dat als de message niet hoeft worden opgevangen, dat je dan DefWindowProc oproept. Dat moet werken

    Dat ik niet een nieuwe versie upload is omdat ik bezig ben met een totaal nieuwe versie, vanaf de grond herschreven.
    !

  3. #3
    Oké, wachten we dat in volle belangstelling af.

    Groetjes Greta.
    Niets is zo gemakkelijk als het lijkt.

  4. #4
    notice-itter SvG's Avatar
    Join Date
    Apr 2002
    Location
    's-Hertogenbosch
    Posts
    4,865
    Je hebt in ieder geval een tijdelijke oplossing
    !

  5. #5
    Hallo Stijn,

    Ik was benieuwd of het een beetje lukt met de nieuwe versie van NLDTrayIcon

    Groetjes Greta.
    Niets is zo gemakkelijk als het lijkt.

  6. #6
    Het zelfde probleem als met de vorige versie van NLDTrayIcon geldt ook bij deze versie NLDTrayIcon2.001. Windows wil niet meer afsluiten.

    Ik heb jouw tijdelijke oplossing nog niet bij deze versie geprobeerd.

    Groetjes Greta.
    Niets is zo gemakkelijk als het lijkt.

  7. #7
    Is hier inmiddels een definitieve fix voor ?
    ________________________
    L=M

  8. #8
    Ik heb het opgelost, zie nieuwe thread: Fixed: Windows shutdown+Access Violation.

    Groetjes,

    Mark van der Hijden
    Mark van der Hijden (Eindhoven)

  9. #9
    Greta, nog een korte uitleg voor je. Je routine om WM_QUERYENDSESSION af te handelen is correct. Echter, jij past het toe voor het top-level window-handle (window met een message handle) van je form. Dat wordt echter al door Delphi verzorgd. Het Tray Icon vraagt een eigen top-level window handle aan Windows en moet dus voor d?¡e handle correct handelen en dat gebeurde niet. Zie ook mijn source. Of Tray Icon 2 het oplost weet ik niet, maar de source die ik elders postte (die van het uitgebreide icon, zie daar voor details) die handelt het nu wel correct af. Die oplossing kan je mergen.
    Mark van der Hijden (Eindhoven)

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 67
    Last Post: 15-Jun-04, 12:32
  2. Replies: 1
    Last Post: 31-Mar-04, 12:25
  3. API Timer wil niet firen...
    By PsychoMark in forum Algemeen
    Replies: 0
    Last Post: 27-Nov-01, 15:43

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •