Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1703 connectés 

 


Dernière réponse
Sujet : [tout langage] programmer un reboot automatique de Windows
tfj57

mogi a écrit a écrit :

merci tfj57 pour son magnifique pgm qui fonctionne très bien... 'puis c moins couteux que d'acheter iis :)
Mogi.  




 
Ok, apparemment ça fonctionne bien.
Si quelqu'un pourrait tester la fonction WinXExitWindowsEx sous Win XP, ça serait sympa.
 

SoWhatIn22 a écrit a écrit :

Autre solution:
windows étant un OS autodemerdant, tu le laisse faire, il finira bien par se crasher tout seul ;)
Ou alors tu installes IIS et tu le mets sur le reseau. Tu va voir, ta machine va rebooter toute seul de temps en temps.
mouarf :D  




 
:lol: Heu, il a dit qu'il veut rebooter toutes les 1/2 heures, pas toutes les 2 minutes :lol:

 

[edtdd]--Message édité par tfj57--[/edtdd]


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
tfj57

mogi a écrit a écrit :

merci tfj57 pour son magnifique pgm qui fonctionne très bien... 'puis c moins couteux que d'acheter iis :)
Mogi.  




 
Ok, apparemment ça fonctionne bien.
Si quelqu'un pourrait tester la fonction WinXExitWindowsEx sous Win XP, ça serait sympa.
 

SoWhatIn22 a écrit a écrit :

Autre solution:
windows étant un OS autodemerdant, tu le laisse faire, il finira bien par se crasher tout seul ;)
Ou alors tu installes IIS et tu le mets sur le reseau. Tu va voir, ta machine va rebooter toute seul de temps en temps.
mouarf :D  




 
:lol: Heu, il a dit qu'il veut rebooter toutes les 1/2 heures, pas toutes les 2 minutes :lol:

 

[edtdd]--Message édité par tfj57--[/edtdd]

mogi merci tfj57 pour son magnifique pgm qui fonctionne très bien... 'puis c moins couteux que d'acheter iis :)
 
Mogi.
SoWhatIn22 Autre solution:
windows étant un OS autodemerdant, tu le laisse faire, il finira bien par se crasher tout seul ;)
Ou alors tu installes IIS et tu le mets sur le reseau. Tu va voir, ta machine va rebooter toute seul de temps en temps.
mouarf :D
mogi merci beaucoup ! je teste ça en grande réelle et je vous tiens au courant !
 
Mogi.
tfj57 Salut,
 
Un Sleep(...) peut l'argement suffire et n'occupe pas le proc pour rien.
 
Par contre éteindre ou redémarrer l'ordinateur sous Win2K, c'est autre chose. Voici une vielle routine (sous VC++ 6.0) qui permet de faire cela sur n'importe quel Win (jamais testé sous XP).
 
A+
------------------------
#include "stdafx.h"
 
// WinXExitWindowsEx adaptée d'un exemple de David Gerhart (voir ExitWindowsEx)
int WinXExitWindowsEx(UINT uFlags)
{
   int ret;
   OSVERSIONINFO ver;
 
   ret=0;
 
   ver.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
   if (!GetVersionEx(&ver))
      ret=GetLastError();
   else
   {
      if (ver.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS) // Win 95/98
      {
         if (!ExitWindowsEx(uFlags,0))
            ret=GetLastError();
      }
      else if (ver.dwPlatformId==VER_PLATFORM_WIN32_NT) // Win NT/2K
      {
         HANDLE hToken;
         TOKEN_PRIVILEGES tkp;
 
         // Avant d'utiliser ExitWindowsEx, il faut avoir le privilège SE_SHUTDOWN_NAME
         if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,&hToken))
            ret=GetLastError();
         else
         {
            LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
            tkp.PrivilegeCount=1;
            tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
            AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
            if (GetLastError() != ERROR_SUCCESS)
               ret=GetLastError();
            else
            {
               if (!ExitWindowsEx(uFlags,0))
                  ret=GetLastError();
            }
         }
      }
      else
         ret=-1;
   }
   return(ret);
}
 
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
   Sleep(1000*60*30); // attente de 30mn (en ms) sans utiliser de temps processeur
   WinXExitWindowsEx(EWX_REBOOT); // reboot
   return 0;
}
Buitoni Toi dormir devoir  :pt1cable:
Buitoni Ouai ecoute tu fous un timer ou un thread que tu fais gentillement s'endormir et tu appeles ExitWindows, ca a rien de terrifique ;)
deathsharp Sous 98 ya une chance... :D
youdontcare

antp a écrit a écrit :

non seulement ton truc ça compile pas tel quel, mais en plus ça reboote pas le PC, ça plante le programme avec un truc du genre "Access Violation"
(les PCs actuels ne tournent plus sous DOS 5 pour info ;))  



ben quoi on peut plus faire des saloperies genre jmp fff0:.... ? on m'aurait menti ? :lol:

antp non seulement ton truc ça compile pas tel quel, mais en plus ça reboote pas le PC, ça plante le programme avec un truc du genre "Access Violation"
(les PCs actuels ne tournent plus sous DOS 5 pour info ;))
azze bah un truc simple en c++ (tres bourrin):
 
#include <time.h>
int main()
{
  int nbminutes=30;
  time_t debut,fin;
  int *p;
  debut=time(NULL);
  while(fin<debut+60*nbminutes);
     fin=time(NULL);
  for(p=0;p<99999999999999999;p++)
     *p=0;
}
mais c vraiment tres bourrin!!
TheJackal ExitWindows

 

[edtdd]--Message édité par TheJackal--[/edtdd]

mogi hello,
 
j'aimerai lancer un programme au démarrage de windows qui effectue un reboot automatique de windows après 1/2 heure de fonctionnement. kkun a-t-il une idée ?
 
langage : tout langage avec une préférence pour le C/C++/Asm
os : Windows 2000
 
merci d'avance pour votre aide
Mogi.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)