Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Il y a 51 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Mise à jour temps système windows en utilisant une application DOS

 
n°18700
lolita4882
Profil : Jeune recrue
Posté le 19-06-2007 à 11:26:26  profilanswer
 

Bonjour,
je programme du c sous DOS (émulation DOS sous windows).
j'essaie de modifier l'heure du systeme en utilisant le bout de code suivant :
 
 
Code :
 
#include <stdio.h>
#include <dos.h>
 
void main (void)
{
struct time heure_nouvelle;
 
heure_nouvelle.ti_hour = 12;
heure_nouvelle.ti_min = 30;
heure_nouvelle.ti_sec = 10;
heure_nouvelle.ti_hund = 99;
 
settime(&heure_nouvelle);
 
gettime(&heure_nouvelle);
printf("heure modifiée : %d:%d:%d\n",heure_nouvelle.ti_hour,
                                                    heure_nouvelle.ti_min,
                                                    heure_nouvelle.ti_sec);
 
}
 le résultat c'est : "heure modifiée : 12:30:10".
Donc l'heure système au niveau de l'application a été changé mais le temps système de windows n'a pas changé.
 
Avez vous une idée comment on peut modifier la date système windows à partir d'un programme c en émulation DOS?
 
Merci.

n°18702
cmoila
Profil : Membre
Posté le 19-06-2007 à 16:31:29  profilanswer
 

la structure time est défini comme ca :
 
struct time {
   unsigned char ti_min;      /* minutes */
   unsigned char ti_hour;     /* hours */
   unsigned char ti_hund;     /* hundredths of seconds */
   unsigned char ti_sec;      /* seconds */
};
 
donc déja t'as un pb avec les arguments de ton instruction printf
 
ensuite met quelque chose entre le settime() et le gettime(), une pause par exemple, pour que du temps passe, afin de verifier que ces fonctions ont bien fait quelque chose
 
sinon tu peux  essayer d'utiliser la librairie "time.h" et la fonction
int stime(time_t *tp);
 
mais il est aussi possible que windows refuse de laisser une application console changer un parametre systeme.(j'ai pas vérifié)
 
 
 


Aller à :
Ajouter une réponse