Gestion de la fermeture de l'application par CTRL ALT SUPP [Résolu]

Signaler
Messages postés
2
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
31 janvier 2005
-
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
-
Salut à tous,
J'ai une application trois tier Midas qui pose un problème en exploitation. Il arrive que l'utilisateur kille le programme client ( et oui y a des bugs!) mais mon serveur reste actif et connecté à la base.

Je souhaiterai intercepter le message Windows qui provoque la fermeture de l'application cliente lorsque l'on tue le processus pour terminer proprement le serveur. Je n'arrive pas à déterminer quel est ce message ou quel est l'évènement appellé.

Merci d'avance.

4 réponses

Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
Tu n'as pas besoin d'utiliser les messages Windows... Il te suffit simplement de rajouter des blocs "Initialization" et "Finalization" dans ton Unit et le tour est joué !

Exemple :

Implementation

procedure __________;
begin
[...]
end;

procedure __________;
begin
[...]
end;

initialization
// Opérations à effectuer au début de programme (ce bloc peut être vide)
finalization
// Opérations à effectuer à la fin du programme, même si fermé avec Ctrl+Alt+Suppr (ce bloc peut également être vide)
end. // La fin de l'unit

@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Messages postés
2
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
31 janvier 2005

Merci mais d'après l'aide Delphi les instructions du bloc finalization sont executées que lorsque le programme se termine normalement et non avec la méthode Halt ( lancé quand on fait Ctrl Alt Suppr).
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
J'ai essayé en écrivant dans un fichier texte à partir du bloc finalization et ça a marché quand j'ai arrêté le prog avec Ctrl+Alt+Suppr


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
21
Un code de yvesmoreau permet de désactiver le Ctrl+Alt+Suppr... A voir.

Si FINALIZATION est exécuté, c'est parce que initialement Windows tente une fermeture par la croix (en haut à droite pour les intimes, et non pas par le saint-esprit). L'application se ferme évidemment normalement (l'application est en état IDLE) et FINALIZATION est exécuté naturellement.

Mais si l'application ne se ferme pas (no réponses), alors Windows se vénère un max et sort l'outil impitoyable qu'est le TERMINATEPROCESS de Kernel32.dll. Même les antivirus ne résistent pas, mais comme leur VXD restent esseulé dans le fond de l'ordi, on a le droit à de merveilleuses cascades d'écrans bleus.

fabiin proposait une manière de faire...

===========
Validez les réponses si ok...

ViewVite : HTML