PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → empêcher de terminer (killer) un processus dans le gestionnaire de tache
empêcher de terminer (killer) un processus dans le gestionnaire de tache
Débuté par Eric DETREZ, 25 oct. 2006 15:52 - 4 réponses
Posté le 25 octobre 2006 - 15:52
J'aimerais pouvoir empêcher de killer mon application Windev à partir du gestionnaire de tâche dans l'onglet processus.
Quelqu'un a-t-il une solution et un exemple en windev?

Merci d'avance
Posté le 25 octobre 2006 - 17:53
Oui tu peux intercepter l'evenement WM_CLOSE (16) et afficher un message.

Mais si l'utilisateur insiste la ton appli sera killer qd même

par exemple tu peux faire


PROCEDURE EmpecheClose(NomFenetre=MaFenêtre..Nom)

Evénement("EmpecheFermeFenetre",NomFenetre,16) //WM_CLOSE = 16
Evénement("EmpecheFermeFenetre",NomFenetre+".*",16) //WM_CLOSE = 16


PROCEDURE EmpecheFermeFenetre()
// Empeche que quitter le programme

SI PAS C_NORMAL_EXIT ALORS
SI PAS ToucheEnfoncée(teControl) ALORS
Info("Vous ne pouvez terminer ce programme de cette maniere.")
_EVE.Retour = 1
SINON
SI PAS OuiNon("Etes-vous certain de vouloir quitter ?") ALORS
_EVE.Retour = 1
FIN
FIN
FIN


PS : C_NORMAL_EXIT est un booleen qui permet quand même de fermer l'application classiquement (sinon tu peux jamais quitter l'appli)
Posté le 25 octobre 2006 - 18:30
Sauf erreur de ma part, windows fait ca lorsque qu'il veut stopper un
appli :
- envoie d'un WM_QUIT au thread principal de l'appli
- si l'appli, passé un délai, tourne toujours, windows tue l'application

Donc la technique du wm_close ne marchera pas je pense ?!

bon dev
eric l.

Oui tu peux intercepter l'evenement WM_CLOSE (16) et afficher un message.

Mais si l'utilisateur insiste la ton appli sera killer qd même

par exemple tu peux faire


PROCEDURE EmpecheClose(NomFenetre=MaFenêtre..Nom)

Evénement("EmpecheFermeFenetre",NomFenetre,16) //WM_CLOSE = 16
Evénement("EmpecheFermeFenetre",NomFenetre+".*",16) //WM_CLOSE = 16


PROCEDURE EmpecheFermeFenetre()
// Empeche que quitter le programme

SI PAS C_NORMAL_EXIT ALORS
SI PAS ToucheEnfoncée(teControl) ALORS
Info("Vous ne pouvez terminer ce programme de cette maniere.")
_EVE.Retour = 1
SINON
SI PAS OuiNon("Etes-vous certain de vouloir quitter ?") ALORS
_EVE.Retour = 1
FIN
FIN
FIN


PS : C_NORMAL_EXIT est un booleen qui permet quand même de fermer l'application classiquement (sinon tu peux jamais quitter l'appli)
Posté le 26 octobre 2006 - 13:50
Merci mais cela ne fonctionne pas
Posté le 26 octobre 2006 - 21:10
Bonsoir
avec une stratégie de sécurité tu l'empêche d'executer le gestionnaire de
tâche ( le bouton est grisé) c'est simple et c'est hyper efficace

"Eric DETREZ" <eric.detrez@ch-aubenas.fr> a écrit dans le message de news:
453f4faa$1@news.pcsoft.fr...

J'aimerais pouvoir empêcher de killer mon application Windev à partir du
gestionnaire de tâche dans l'onglet processus.
Quelqu'un a-t-il une solution et un exemple en windev?

Merci d'avance