PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Fermeture de Windows
Fermeture de Windows
Débuté par Laurent B, 14 oct. 2004 17:38 - 3 réponses
Posté le 14 octobre 2004 - 17:38
Salut,

J'ai une appli qui effectue des traitements relativements longs dans un thread. Cette appli s'iconifie dans la barre de notification sans affichage dans la barre des taches lors de ces traitements.

Est-il possible de detecter un arrêt de windows effectué par "Demarrer/Arreter l'ordinateur", de bloquer l'arrêt et de demander une confirmation d'arrêt à l'utilisateur pour rappeler à ce dernier qu'un traitement est en cours ?

Si oui, une piste serait la bienvenue.

Merci d'avance

Laurent
Posté le 14 octobre 2004 - 18:05
"Laurent B" <guest@newsgroup.fr> wrote in news:416e77fe@news.pcsoft.fr:


Salut,

J'ai une appli qui effectue des traitements relativements longs dans
un thread. Cette appli s'iconifie dans la barre de notification sans
affichage dans la barre des taches lors de ces traitements.

Est-il possible de detecter un arrêt de windows effectué par
"Demarrer/Arreter l'ordinateur", de bloquer l'arrêt et de demander une
confirmation d'arrêt à l'utilisateur pour rappeler à ce dernier qu'un
traitement est en cours ?

Si oui, une piste serait la bienvenue.

Merci d'avance

Laurent



Il y a déjà eu un post sur une question du genre, fait une recherche.
La réponse se trouvait dans la fonction Evenement(), mais je ne me
souviens plus de la syntaxe exacte.

A+

--
N. Kevin
Posté le 14 octobre 2004 - 19:15
Procédure global
Evénement("EndSession","*.",17)

PROCEDURE EndSession()
SELON _EVE.wMessage
CAS 17
_EVE.retour=Faux
Info("Vous devez quitter l'application avant de fermer Windows")
Bip
hWnd est un entier
hWnd=Handle(FenEnCours())
PostMessage(hWnd,6,1,hWnd)
FIN






"Laurent B" <guest@newsgroup.fr> a écrit dans le message de news:
416e77fe@news.pcsoft.fr...

Salut,

J'ai une appli qui effectue des traitements relativements longs dans un
thread. Cette appli s'iconifie dans la barre de notification sans
affichage dans la barre des taches lors de ces traitements.

Est-il possible de detecter un arrêt de windows effectué par
"Demarrer/Arreter l'ordinateur", de bloquer l'arrêt et de demander une
confirmation d'arrêt à l'utilisateur pour rappeler à ce dernier qu'un
traitement est en cours ?

Si oui, une piste serait la bienvenue.

Merci d'avance

Laurent
Posté le 15 octobre 2004 - 10:22
Merci pour vos renseignement,

Par contre, si j'utilise ton code, j'ai bien le message d'information et un blocage de l'arrêt, mais Windows se ferme quand même au bout d'environ 5 secondes.

Si j'utilise ce code :
--------------------------------
PROCEDURE EndSession()

_EVE.retour = Faux
RepriseSaisie(maFenetre)
--------------------------------
l'arrêt de windows est bien bloqué mais je ne peux pas afficher de message d'avertissement.

Une idée ?

Laurent