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

cs_phiphilou 2 Messages postés jeudi 10 avril 2003Date d'inscription 31 janvier 2005 Dernière intervention - 31 janv. 2005 à 18:53 - Dernière réponse : cs_grandvizir 1237 Messages postés samedi 8 novembre 2003Date d'inscription 3 septembre 2006 Dernière intervention
- 2 févr. 2005 à 16:30
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.
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 31 janv. 2005 à 19:48
3
Merci
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 !

Merci ni69 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de ni69
cs_phiphilou 2 Messages postés jeudi 10 avril 2003Date d'inscription 31 janvier 2005 Dernière intervention - 31 janv. 2005 à 22:01
0
Merci
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).
Commenter la réponse de cs_phiphilou
ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 31 janv. 2005 à 23:07
0
Merci
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 !
Commenter la réponse de ni69
cs_grandvizir 1237 Messages postés samedi 8 novembre 2003Date d'inscription 3 septembre 2006 Dernière intervention - 2 févr. 2005 à 16:30
0
Merci
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
Commenter la réponse de cs_grandvizir

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.