J'ai devéloppé une application se logeant dans les icônes en bas à droite. J'ai utilisé pour cela TCiaTray. L'appli utilise aussi un timer pour lancer une opération chaque jour durant la pause de midi.
Tout marche bien sauf un point: le shutdown. J'ai posé la question sur ce forum en on m'a parlé du message WM_QUERYENDSESSION
J'ai donc placé le code suivant
dans la déclaration de la form:
L'implémentation:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private { Private declarations } procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;
L'appli se termine à présent correctement lors d'un shutdown ou une fin de session mais le shutdown est interrompu. Ne trouvant pas de solution j'envisage que mon appli relance un nouvel ordre de shutdwon ou de fin de session. Mais pour ce faire j'ai besoin de savoir comment détecter une fin de session ou un shutdown en recevant WM_QUERYENDSESSION
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TForm1.WMQueryEndSession(var Message: TWMQueryEndSession); begin Form2.Timer1.Enabled := False; Form2.Timer1.Destroy; Message.Result := 1; Application.Terminate; end;
Ce serait c... de lancer un shutdwon si l'utilisateur fait une fin de session![]()
Quelqu'un sait m'éclairer?
Partager