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

MFC Discussion :

[API] ExitWindows


Sujet :

MFC

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Par défaut [API] ExitWindows
    j'ai essayé cette API avec tous les flags possibles et imaginables mais mon pc ne s'eteint pas.
    Dans le meilleur des cas toutes mes applis s'arretent(cool) et seule la session se ferme.
    Comment l'eteindre

  2. #2
    Membre confirmé Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Par défaut
    ExitWindows

    The ExitWindows function logs off the current user. It sends the WM_QUERYENDSESSION message to determine if they can be terminated.

    To shut down the system, or shut down and restart the system, use the ExitWindowsEx function.
    cette fonction ne sert qu'a fermer la session si mon anglais est pas trop mauvais
    faut que tu utilise ExitWindowsEx apparement.

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Par défaut
    oui autant pour moi. ExitWindows(0,0) ne prend pas de flags en paramètres....
    C'est bien ExitWindowsEx que j'ai utilisé mais ca ne marche pas.
    Les flags utilisés sont EWX_FORCE, ....
    Aucun ne marche.
    Donc si tu as une idée.

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    Salut,
    il faut gérer les privilèges des processus

    suffit de faire exactement comme l'exemple de la msdn
    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
    BOOL MySystemShutdown()
    {
       HANDLE hToken; 
       TOKEN_PRIVILEGES tkp; 
     
       // Get a token for this process. 
     
       if (!OpenProcessToken(GetCurrentProcess(), 
            TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) 
          return( FALSE ); 
     
       // Get the LUID for the shutdown privilege. 
     
       LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, 
            &tkp.Privileges[0].Luid); 
     
       tkp.PrivilegeCount = 1;  // one privilege to set    
       tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; 
     
       // Get the shutdown privilege for this process. 
     
       AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, 
            (PTOKEN_PRIVILEGES)NULL, 0); 
     
       if (GetLastError() != ERROR_SUCCESS) 
          return FALSE; 
     
       // Shut down the system and force all applications to close. 
     
       if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0)) 
          return FALSE; 
     
       return TRUE;
    }

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Par défaut
    au sujet de ces exemples, tu les trouves où aujuste??

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 77
    Par défaut
    dans msdn

    Windows NT/2000/XP: To shut down or restart the system, the calling process must use the AdjustTokenPrivileges function to enable the SE_SHUTDOWN_NAME privilege. For more information about security privileges, see Privileges.

    Windows 95/98/Me: ExitWindowEx does not work from a console application.

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Par défaut
    oui mais les codes où tu les trouves?

  8. #8
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    soit dans la version installée sur mon poste, soit sur le net http://msdn.microsoft.com/library/de...twindowsex.asp et http://msdn.microsoft.com/library/en...the_system.asp
    Indispensable pour utiliser correctement l'API Windows

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Par défaut
    tu travaille avec quelle version de visual.
    Moi j'ai la 6.0. Par contre dans la MSDN quand tu recherche une API on t'indique comment elle marche, les proto, valeur de retour, ... fonctions annexes.
    En revanche aucun lien vers un exemple n'est proposé, ce qui est bien dommage.
    Non pas un exemple a télécharger mais un exemple texte. Comme par exemple pour CString:ump par exemple ou CFile::Open.
    Ca c le top!
    Tu n'as pas une version de la MSDN qui permet cela???

  10. #10
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    perso, ma version de Visual Studio est la 6 aussi, les msdn que j'ai installé sont celles de 2001 (celles de 2003 sont mal faites je trouve), et cet exemple est dispo dedans

  11. #11
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Par défaut
    tu peux m'envoyer la 2001 stp.
    sur benoit6970@yahoo.fr ou me donner un lien ou je puisse la downloader.
    Est-ce qu'il existe des versions en francais?
    merci

  12. #12
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    euh ... ca fait 3 cds ! et ca fait parti de l'abonnement MSDN, si tu as une version de visual studio, tu devrais avoir ca aussi
    sinon, elle est accessible en ligne http://msdn.microsoft.com/library/ et c'est ici que j'ai trouvé l'exemple dont le lien est dans le post plus haut

  13. #13
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Par défaut
    3 cd??
    En fait je pensais a une mise a jour.
    Moi g la 1999. Il me semble bien que c qu'un ptit soft a installer.
    Moi g 2 cd.
    Enfin, j'aimerais bien avoir dans ma MSDN locale(sans le net) avoir un truc bien koi.
    Ca doit pouvoir se trouver nan??

  14. #14
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 46
    Par défaut
    Tiens c'est marrant, j'adore la version 2003 moi

    Tu lui reproches quoi nico-pyright(c) ?

  15. #15
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    dans mon éditeur Visual.NET, j'arrive pas à trouver ce que je cherche et puis, y a trop de liens hypertextes qui te balade dans tous les sens. Je suis peut-etre trop habitué à l'autre, mais quand je cherche un truc, je vais vraiment beaucoup plus vite avec la 2001

  16. #16
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 46
    Par défaut
    J'ai pas connu la 2001, ça doit être une histoire d'habitude

  17. #17
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Par défaut
    Ok Vip!
    Donc tu sais comment je me procure le "patch"...
    Ou bien me faut il la version complète??

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

Discussions similaires

  1. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28
  2. JEG : jAPI : Une API pour C++Builder
    Par JEG dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/11/2003, 13h50
  3. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07
  4. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44
  5. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

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