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 :

Fermer le pc sans message ...


Sujet :

API, COM et SDKs Delphi

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut Fermer le pc sans message ...
    salut

    j'utilise ce code :

    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
     
    var
    sTokenIn,sTokenOut : TTOKENPRIVILEGES ;
    dwLen : DWORD ;
    hCurrentProcess,hToken : THANDLE ;
    Luid1 : TLargeInteger ;  // LUID ;
     
    begin
     
      // Handle du process en cours
      hCurrentProcess := GetCurrentProcess ;
      OpenProcessToken (hCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken);
     
      // valeur du privilege SHUTDOWN
      LookupPrivilegeValue(nil,'SeShutdownPrivilege',Luid1) ;
      sTokenIn.PrivilegeCount := 1;
      sTokenIn.Privileges[0].Luid := Luid1;
      sTokenIn.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
     
      // Ajustement du privilege avec les nouvelles valeurs
      AdjustTokenPrivileges ( hToken, FALSE, sTokenIn,sizeof(TTOKENPRIVILEGES),sTokenOut, dwLen);
      CloseHandle (hToken);
      ExitWindowsEx(EWX_SHUTDOWN {or EWX_FORCE}, 0) ;//Sortie NT
     
    end.
    mais il y a un message qui dit "vous pouvez maintenant fermer votre unité central"

    or je ne veux pas avoir de message, je veux que l'éteindre sans message ...

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 82
    Points : 85
    Points
    85
    Par défaut
    sous xp il y a a commande shutdown.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    winexec('C:\WINDOWS\system32\shutdown.exe' + ' -s',SW_SHOWNORMAL);
    pour + d'info shutdown /?

    sinon essai avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExitWindowsEx(EWX_FORCE and EWX_SHUTDOWN);

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    thx je vais tester

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 180
    Points : 107
    Points
    107
    Par défaut
    Dans la commande tu peux éventuellement ajouter -f comme parametre pour forcer les applications a se fermer...

  5. #5
    Membre actif Avatar de [Silk]
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2005
    Messages : 198
    Points : 201
    Points
    201
    Par défaut
    Tu as regardé dans la FAQ ?
    parce que pour éteindre le pc et l'alimentation il faut utiliser EWX_POWEROFF en paramètre

    Pour arrêter Windows ( n'arrête pas l'alimentation ) : EWX_SHUTDOWN
    Sous Windows XP SP1, si l'ordinateur supporte l'arrêt logiciel de l'alimentation, dans ce cas elle est arrêtée.

    Pour arrêter Windows et l'alimentation : EWX_POWEROFF

    Pour redémarrer Windows : EWX_REBOOT

    Pour forcer la fin des process avant le redémarrage de Windows : EWX_SHUTDOWN + EWX_ FORCE
    Dans ce cas la fonction n'envoie pas le message WM_QUERYENDSESSION et WM_ENDSESSION ce qui peut entraîner des pertes de données. A n'utiliser qu'en cas d'urgence
    Sous Windows XP, si l'ordinateur est verrouillé, la procédure d'arrêt échoue sauf si celle-ci est exécutée à partir d'un service.
    Lien :http://delphi.developpez.com/faq/?pa...StopRunWindows
    Silk

  6. #6
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut
    +1 pour [silk]
    Sinon si tu utilise XP tu peut te contenter de shutdown
    rajoute -t 00 pour le couper instantanement PS : Pas de message de coupure

Discussions similaires

  1. [XL-2010] Fermer un fichier sans message de confirmation
    Par benoaa dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 07/07/2014, 15h56
  2. Réponses: 12
    Dernier message: 26/01/2012, 15h44
  3. [XL-2007] Fermer un fichier sans message concernant le presse-papier
    Par Alqualonde dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/11/2011, 16h37
  4. Réponses: 2
    Dernier message: 15/03/2009, 14h06
  5. Réponses: 2
    Dernier message: 20/03/2008, 09h38

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