begin process at 2012 05 29 06:11:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

System

 > 

Fermeture de session ou arret


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fermeture de session ou arret

mardi 12 décembre 2006 à 14:57:25 | Fermeture de session ou arret

laetitiavincent

Bonjour tout le monde
je souhaite faire un programme qui réagit différemmment si l'utilisateur a demandé une fermeture de session ou un arret complet. Or lorsqu'on capte WM_QUERYENDSESSION, c'est indifférent. Y a-t-il un moyen de savoir ce qu'a demandé l'utilisateur ?

Merci pour votre aide

 Laetitia
mardi 12 décembre 2006 à 17:02:57 | Re : Fermeture de session ou arret

racpp

Administrateur CodeS-SourceS
Salut,
Pour cela, je pense qu'il faudra un service. Ce dernier peut recevoir le message SERVICE_CONTROL_SHUTDOWN. Il dispose de 20 secondes pour faire le traitement nécessaire. Si ce délai n'est pas suffisant, je pense qu'il est possible de le prolonger jusqu'à une certaine limite en la précisant au controleur de service. Pour dépasser encore cette limite, une clé de la base registre permet de la modifier.

mardi 12 décembre 2006 à 17:11:20 | Re : Fermeture de session ou arret

racpp

Administrateur CodeS-SourceS
J'ai oublié d'ajouter que le service peut utiliser l'API  SetConsoleCtrlHandler() permettant de fournir une fonction d'interception des messagesCTRL_LOGOFF_EVENT et CTRL_SHUTDOWN_EVENT. Ces messages correspondent respectivement à la fermeture de session et l'exctinction du PC. D'après la documentation, un return 0 à ces messages permettrait d'annuler l'opération.

mardi 12 décembre 2006 à 17:52:23 | Re : Fermeture de session ou arret

magma

Réponse acceptée !
Le paramètre lParam des messages WM_QUERYENDSESSION
et WM_ENDSESSION ne permet'il pas de faire la différence ?
mardi 12 décembre 2006 à 21:18:52 | Re : Fermeture de session ou arret

laetitiavincent

je ne sais pas car je n'arrive pas à trouver une doc définissant les paramètres de WM_QUERYENDSESSION
Quelqu'un sait ou je peux trouver cela ?

 Laetitia
mardi 12 décembre 2006 à 21:37:54 | Re : Fermeture de session ou arret

laetitiavincent

Bien jouer magma. Apparemment c'est ca
Si lParam = 0, c'est un arret du système ou un redémarrage, sinon c'est une fermeture de session

Merci beaucoup et si ca peut servir à d'autres ..............

Laetitia
mercredi 13 décembre 2006 à 01:12:46 | Re : Fermeture de session ou arret

racpp

Administrateur CodeS-SourceS
Pour la documentation, il suffit d'aller au site MSDN à l'adresse suivante:
http://msdn.microsoft.com/library/
Tu tapes le terme à chercher dans la textbox puis tu cliques sur Search. Les premiers liens affichés sont souvent les meilleurs.
Le problème  avec WM_QUERYENDSESSION est que rien ne garantit que notre fenêtre recevra ce message. Il suffit qu'un programme (ou le système) force l'arrêt du PC, par exemple en appelant la fonction ExitWindowsEx() avec le flag  EWX_FORCE. Ainsi la fenêtre ne sera pas notifiée. Par contre avec un service, ça marche à tous les coups.


Cette discussion est classée dans : arret, utilisateur, fermeture, session, demandé


Répondre à ce message

Sujets en rapport avec ce message

Arret pc, fermeture session, [ par kgadhi ] Bonjour tous le monde et merci pour votre aide,j'ai besoin de detecter l'arret du pc ou la fermeture d'une session pour lancer un programme,merci pour Lancement d'un programme à la fermeture de session [ par laetitiavincent ] BonjourJe voudrais faire un programme en c ou c++ qui, au moment où l'utilisateur ferme sa session ou éteind l'ordinateur, lance un exécutable.Quelqu' Empêcher la fermeture de la fenêtre ? [ par Farqual ] Bonjour, je voulais savoir si c'était possible d'empêcher la fermeture de l'invite de commande DOS dans laquelle s'affiche mon programme (en C ou C++ pb de fermeture de session ftp sous win 2000 ( InternetCloseHandle ) [ par mzhunix ] Bonjour,J'ai un probleme avec la fermeture des sessions ftp de window 2000 en appelant la fonction InternetCloseHandle je dois attendre plusieurs seco pb de fermeture de session ftp sous win 2000 ( InternetCloseHandle ) [ par mzhunix ] Bonjour,J'ai un probleme avec la fermeture des sessions ftp de window 2000 en appelant la fonction InternetCloseHandle je dois attendre plusieurs seco AIDE SVP ! Programme qui délogue l'utilisateur [ par guilt92 ] Bonjour.Je voudrais réaliser un programme, qui, sous NT, ferme la session d'un utilisateur si la session reste verouillée trop longtemps ou si l utili AIDE SVP !!! delogger un utilisateur ! [ par guilt92 ] Bonjour.Je voudrais réaliser un programme, qui, sous NT, ferme la session d'un utilisateur si la session reste verouillée trop longtemps ou si l utili comment simuler l'action d'un utilisateur [ par Ankras ] menu et les fonctions [ par djamine ] bonjour j'aimerais trouver la solution pour un exercice de l'ecolevoila : on désire gérer un tableau contenant une liste de nom pour cela en décide de Copie profil utilisateur en windows NT en C++ [ par jimmy469 ] Slt,J'aimerai copier le profil d'un utilsateur (ex domaine1\user1) vers celui d'un autre (ex domaine2\user2) en C++.Merci d'avance


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales