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 :

Arret de windows [FAQ]


Sujet :

C++Builder

  1. #1
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 59
    Points : 56
    Points
    56
    Par défaut Arret de windows
    Bonjour,

    J'aimerais trouver une commande C++ permettant d'arreter l'ordinateur. J'ai essayé la commande
    ExitWindowsEx(EWX_POWEROFF, 0);
    Mais celle-ci ne marche pas. Je pense que cela viens du fait que je travaille sous Windows XP Pro SP1. Faut-il rajouter quelque chose avant pour avoir des droits d'acces, par exemple?

    Merci

  2. #2
    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
    bonjour,
    le code suivant devrait te convenir
    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
     
    bool AdjustAutorisation()
    }
     HANDLE            hToken;
     LUID              takeOwnershipValue;
     TOKEN_PRIVILEGES  tkp;
     if (!OpenProcessToken(GetCurrentProcess(),
                              TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
       return false;
     if (!LookupPrivilegeValue(0, SE_SHUTDOWN_NAME, &takeOwnershipValue))
         return false;
     tkp.PrivilegeCount = 1;
     tkp.Privileges[0].Luid = takeOwnershipValue;
     tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
     AdjustTokenPrivileges(hToken, false, &tkp, sizeof(TOKEN_PRIVILEGES), 0, 0);
     if (GetLastError()) return false;
     return true;
    }
     if (AdjustAutorisation())
           ExitWindowsEx(EWX_FORCE | EWX_SHUTDOWN,0);
    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

  3. #3
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 59
    Points : 56
    Points
    56
    Par défaut
    Ca marche impecable,
    Merci de ton aide

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

Discussions similaires

  1. ShutDownHook et arret service windows
    Par gglefoncede dans le forum Langage
    Réponses: 3
    Dernier message: 30/11/2007, 02h12
  2. arret de windows
    Par koryghan dans le forum Windows XP
    Réponses: 26
    Dernier message: 04/05/2007, 11h20
  3. Probleme arret intempestif windows server 2003
    Par max06 dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 16/04/2007, 11h18
  4. detection de l'arret de windows
    Par moimoimoi3x dans le forum C++Builder
    Réponses: 4
    Dernier message: 02/03/2004, 06h33
  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