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

Windows Discussion :

[WIN 32 API] Désactiver l'hibernation


Sujet :

Windows

  1. #1
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut [WIN 32 API] Désactiver l'hibernation
    Salut, je fais un programme en C qui communique sur le port série et quand l'hibernation embarque les données recues n'ont plus de sens (la même chose pour les données envoyées). C'est normal car le système arrête de fonctionner.

    Donc je cherche à désactiver l'hibernation du système. J'ai regarder du côté de la fonction CallNtPowerInformation mais je ne suis pas certain de savoir l'utiliser. J'imagine qu'avant de changer les settings je dois prendre les vieux pour les restaurer par la suite?

    Merci
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Points : 542
    Points
    542
    Par défaut
    Je ne pense pas qu'il soit nécessaire de modifier les paramètres système.

    Une hibernation/mise en veille du système peut être initiée de 2 façons : forcée ou pas.

    Dans le cas d'une mise en veille forcée (batterie à plat par ex), il n'y rien qu'une application puisse faire pour l'empêcher ; elle peut quand même en être notifiée si elle le souhaite (WM_POWERBROADCAST/PBT_APMSUSPEND), mais c'est tout.

    Pour une mise en veille non forcée, chaque application qui le souhaite peut refuser la demande du système au moment de la notification (WM_POWERBROADCAST/PBT_APMQUERYSUSPEND) et dans ce cas la mise en veille avortera.

    --> voir MSDN pour plus de détails.
    "La forme même des Pyramides prouve que de tous temps, les ouvriers n'ont jamais pensé qu'à en faire de moins en moins."

    G. CLEMENCEAU

  3. #3
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Merci rigobert, qui aurait cru qu'il fallait seulement intercepter un petit message:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            case WM_POWERBROADCAST:
                if(tProcWParam==PBT_APMQUERYSUSPEND)
                {
                    MessageBox(NULL, "Ask suspend!", "PBT_APMQUERYSUSPEND", MB_OK);
                    tProcLResult = BROADCAST_QUERY_DENY;
                }
                else if(tProcWParam==PBT_APMSUSPEND)
                {
                    MessageBox(NULL, "Suspend!", "PBT_APMSUSPEND", MB_OK);
                }
                break;
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

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

Discussions similaires

  1. Désactiver cache hibernate
    Par legummy dans le forum Hibernate
    Réponses: 4
    Dernier message: 26/01/2009, 19h28
  2. Win CE API WIFI
    Par smk01 dans le forum Windows
    Réponses: 0
    Dernier message: 22/07/2008, 10h49
  3. Réponses: 3
    Dernier message: 10/10/2006, 16h30
  4. L'api net.sf.hibernate
    Par kaikai dans le forum Hibernate
    Réponses: 2
    Dernier message: 12/05/2006, 08h46
  5. [API WIN 32]effacer un fichier
    Par ben_iap dans le forum MFC
    Réponses: 2
    Dernier message: 30/01/2004, 13h51

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