Arret de windows dans par un programme...

Arret de windows dans par un programme... - C++ - Programmation

Marsh Posté le 24-06-2002 à 08:53:28    

Quelqu'un saurait comment arreter/mettre en veille/mettre en veille prolongé windowsXP a partir d'un programme.
Dans windows98 il y avait un executable qui permettait de le faire (Rundll.exe user, exitwindows) mais depuis win2000 il n'est plus dans le system.
 
Merci

Reply

Marsh Posté le 24-06-2002 à 08:53:28   

Reply

Marsh Posté le 24-06-2002 à 10:00:07    

Avec la commande Ms-dos shutdown je sais que tu peux au moins l éteindre, et le redamarrer ... faut voir ce que tu sais en faire ...

Reply

Marsh Posté le 24-06-2002 à 16:06:07    

merci, je vais voire comment ca marche

Reply

Marsh Posté le 24-06-2002 à 17:44:16    

tape dans une console ms dos "shutdown /?" ! pour des info

Reply

Marsh Posté le 25-06-2002 à 08:18:28    

y a une fonction de l'api windows qui fait ça: ExitWindowsEx


---------------
Le Tyran
Reply

Marsh Posté le 27-06-2002 à 21:04:08    

Ben shutdown c'est moyen. Ca m'a affiché un message "vous pouvez éteindre votre ordinateur" mais ca ne m'a pas coupé le courant...
 
Je vais voir avec l'api, mais je sais pas trop comment ca s'utilise.
Merci.

Reply

Marsh Posté le 27-06-2002 à 21:10:24    

Si ça le coupe pas c que ta bécanne ne le supporte pas à mon avis


---------------
Le Tyran
Reply

Marsh Posté le 27-06-2002 à 21:17:39    

Ben si, elle le supporte sans pb (c qd meme sur un atlon xp que j'ai essayé carte mère msi)
En plus avec le arreter normal de windows elle s'éteint correctement, la veille prolongé marche à merveille et tout le reste comme il faut.

Reply

Marsh Posté le 27-06-2002 à 21:23:43    

Autant pour moi  :sarcastic:


---------------
Le Tyran
Reply

Marsh Posté le 30-06-2002 à 21:03:33    

sous xp il me semble bien (j'en suis meme sur en fait) qu'il faille donne les privileges d'exctinction a un prog attends je te retrouve le code... (je sais pas pourquoi j'ecris ça parce que de toute façon  je vais attendre avant de poster ce message...)
voila ça c pour eteindre (code pour borland c++ mais ça doit pas etre follement different...)
 

Code :
  1. HANDLE hToken;
  2. TOKEN_PRIVILEGES tkp;
  3.   OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
  4.   LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
  5.   tkp.PrivilegeCount = 1;  // 1 privilege a changer
  6.   tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
  7.   AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);
  8.   ExitWindowsEx(EWX_POWEROFF,0);

 
 
pour les autres fonctions (reboot, arret, mise en veille...) regarde dans l'aide de ExitWindowsEx...
 
voila voila en esperant que ça t'aide


---------------
Chaos is found in greatest abundance wherever order is being sought. It always defeats order, because it is better organized.
Reply

Marsh Posté le 30-06-2002 à 21:03:33   

Reply

Marsh Posté le 01-07-2002 à 03:59:49    

Oui, à la base, c'est ça:
ExitWindowsEx(EWX_POWEROFF,0);  
 
http://msdn.microsoft.com/library/ [...] n_3ago.asp
 
A+,
 


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 01-07-2002 à 14:40:13    

Merci,
ca m'aide beaucoup.
Je vais pouvoir me débrouiller avec ca.
 
a+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed