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

API, COM et SDKs Delphi Discussion :

Detection arret de windows


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2002
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2002
    Messages : 231
    Points : 116
    Points
    116
    Par défaut Detection arret de windows
    Comment detecter dans un programme que Windows s'arrete ?

    Merci pour votre aide

    Philippe

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2002
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Voir du côté du message WM_QUERYENDSESSION.

    The WM_QUERYENDSESSION message is sent when the user chooses to end the Windows session or when an application calls the ExitWindows function. If any application returns zero, the Windows session is not ended. Windows stops sending WM_QUERYENDSESSION messages as soon as one application returns zero.

    After processing this message, Windows sends the WM_ENDSESSION message with the wParam parameter set to the results of the WM_QUERYENDSESSION message.
    Quelque chose du genre devrait fonctionner (pas testé...) :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;
     
    type
      TForm1 = class(TForm)
      private
        { Déclarations privées }
        procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    { TForm1 }
     
    procedure TForm1.WMQueryEndSession(var Message: TWMQueryEndSession);
    begin
      inherited;
      // Pour autoriser l'arrêt de Windows :
      Message.Result := 1;
      // Pour annuler l'arrêt de Windows :
      Message.Result := 0;
    end;
     
    end.

  3. #3
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Mars 2002
    Messages : 230
    Points : 127
    Points
    127
    Par défaut
    Je me joint á vous car je trouve le sujet trés intéréssant, mais en général, est ce que qu'il y a "quelquechose" qui peut me dire quand windows s'arrête ?.
    L'exemple est trés intérressant, mais fonctioone apparament seulement avec un query...non ?
    A++

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2002
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Finalement, j'ai testé mon exemple et il fonctionne...

    Sinon, il faudrait voir du côté du message WM_ENDSESSION.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure WMEndSession(var Message: TWMEndSession); message WM_ENDSESSION;
    Mais j'ai pas le temps de tester (pas envie de rebooter x fois mon PC...).

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2002
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2002
    Messages : 231
    Points : 116
    Points
    116
    Par défaut WM_ENDSESSION
    J'ai trouvé dans l'aide cette procédure qui marche.

    Merci pour le code toutefois

    Philippe

+ 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. [langage] [RegExp] Détecter un chemin Windows
    Par GLDavid dans le forum Langage
    Réponses: 3
    Dernier message: 01/09/2004, 14h57
  4. Arret de windows
    Par jean tof dans le forum C++Builder
    Réponses: 2
    Dernier message: 03/04/2004, 19h53
  5. detection de l'arret de windows
    Par moimoimoi3x dans le forum C++Builder
    Réponses: 4
    Dernier message: 02/03/2004, 06h33

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