IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

detection de l'arret de windows [FAQ]


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 16
    Points : 13
    Points
    13
    Par défaut detection de l'arret de windows
    Bonjour,

    J'aimerai savoir si il est possible de detecter l'arret de windows et ce dans l'evenement OnDestroy de ma Form

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Form1OnDestroy(...){
    bool arret = windowShuttingDown(); 
    if(arret)ShowMessage("Windows s'arrete");
    }
    Merci d'avance

  2. #2
    Inactif
    Inscrit en
    Janvier 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 15
    Points : 17
    Points
    17
    Par défaut
    hello, je sais que c'est possible.


    on peut en principe savoir la raison precise de la fermeture de l'application. terminatel process depuis le manager, window terminate, etc...

    je sais plus ou c'est .... mais ca existe.

  3. #3
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    Salut,
    il te faut créer un gestionnaire de message qui réponde au message envoyé que windows envoye a toutes les applications actives
    nom du message WM_QUERYENDSESSION
    si tu réponds au messsage par la valeur 0 tu empecheras Windows de se fermer
    cordialement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    //dans le .h de ta form
    // dans la partie protected de ta classe crée un message ayant par exemple pour nom
    void __fastcall MQuerryEndSession(TMessage& Msg);
    BEGIN_MESSAGE_MAP
    MESSAGE_HANDLERWM_QUERYENDSESSION ,TMessage,MQuerryEndSession)
    END_MESSAGE_MAP(TForm)
     
    dans le.Cpp de ta form
    void __fastcall TForm1::MQuerryEndSession(TMessage& Msg)
    {
      if (MessageDlg("Voulez Vous quiter Windows ?", mtConfirmation, TMsgDlgButtons() << mbYes << mbNo, 0) == mrYes)
      Msg.Result=true;
      else
       Msg.Result=false;
     
    }
    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Merci

    j'avais justement trouvé le WM et je l'ai utiliser avec le composant TAppEvent OnMessage
    mais la je n'arrivais plus a eteindre windows

    Est ce que cette methode revient au meme ?

    merci beaucoup


    ps: il y a juste une petite faute de frappe (une parenthese)
    MESSAGE_HANDLER(WM_QUERYENDSESSION,TMessage,MQuerryEndSession)

  5. #5
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    Salut,
    merci pour la correction de parenthèse
    concernant ta question si tu renvoye ton message avec la valeur Result=1 Windows pourra s'arrêter dans le cas contraire non
    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. arret de windows
    Par koryghan dans le forum Windows XP
    Réponses: 26
    Dernier message: 04/05/2007, 11h20
  2. Probleme arret intempestif windows server 2003
    Par max06 dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 16/04/2007, 11h18
  3. Comment detecter une partition linux sous windows?
    Par ibtisss dans le forum Administration système
    Réponses: 5
    Dernier message: 09/02/2006, 11h15
  4. Arret de windows
    Par jean tof dans le forum C++Builder
    Réponses: 2
    Dernier message: 03/04/2004, 19h53
  5. Detection arret de windows
    Par philippe30 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 21/09/2002, 18h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo