Sleep ve Windows

Program sleep pocka pozadovanou dobu a ukonci se. V Linuxu casto pouzivam tento program pri psani skriptu. Ve Windows XP vsak nic podobneho neni. Co by kdo taky cekal od 8 let stareho operacniho systemu (XP je z 25.10.2001)?  Jak je to s Windows Vista nevim – nepouzivam.

V Linuxu je syntaxe nasledujici:
sleep 3 
   pocka 3s

 

I kdyz ve Windows XP nic podobneho neni, lze si pomoci jinak – programem PING. Kazdeho asi napadne, co ma ping a sleep spolecneho. Odpoved je jednoducha, jestlize se ping spusti se spravnymi parametry, funguje stejne jako sleep. Popis vsech parametru je na strankach Microsoftu.

ping 127.0.0.1 -n 3 -w 1000> nul
    pocka 3s

-w doba, po kterou bude ping cekat na odpoved. Zadava se v ms.
-n pocet pozadavku na odpoved. Jelikoz ma ping na localhost (127.0.0.1) prakticky nulovou odezvou, poslouzi jako parametr pro "uspani".

> nul  zahodit (nevypisovat) vypisy

 

Nejjednodussi je vytvorit program, ktery bude vyuzivat funkci sleep. V C by se to dalo napsat nejak podobne:

#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>  /* sleep() */

int main(int argc, char *argv[])
{  
  int cekat;

  if (argv[1] == NULL)
  {
    printf("Jako parametr uvedte cas v sekundach!\n");
  }
  else
  {                 
    while ((cekat = atoi(argv[1])) == 0);
    /* retezec z argv[1] se prevede na cislo */
     
    cekat = (cekat * 1000);
    /* funkci sleep se musi zadavat cas v [ms] => * 1000 */
     
    sleep(cekat); 
   }

   return 0;  
}

Pokud to nekdo chcete pouzit, tady je 32bit exe. Jestlize ma nekdo 64bit, nebo si to chce nejak upravit, tak tady je projekt v Dev-C++.

Program je dobre nakopirovat do C:\Windows, nebo do jine slozky, ktera je uvedena v promene PATH.
 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *