J'ai essayé les fonctions de l'API Windows, mais je n'ai pas compris lequel répond à ma demande. Comme GetTickCount64
, QueryInterruptTime
etc Comment puis-je le calculer?Comment pouvons-nous savoir combien de temps il a été depuis que nous avons appuyé sur le bouton d'alimentation sur un ordinateur?
-5
A
Répondre
1
GetTickCount64
renvoie le nombre de millisecondes depuis le dernier démarrage. Cela devrait suffire.
-2
Vous pouvez également utiliser GetTickCount()
. Comme ceci:
#include <Windows.h>
#include <stdio.h>
int main(){
int hours;
int min;
int sec;
int rem1;
int nSysUpTime = GetTickCount()/1000;
int days = nSysUpTime/60/60/24;
hours = nSysUpTime/3600;
rem1 = nSysUpTime % 3600;
min = rem1/60;
sec = rem1 % 60;
printf("\nComputer Uptime %02d:%02d:%02d \n\n",hours , min ,sec );
return 0;
}
+1
'GetTickCount()' revient à 0 tous les 49,7 jours d'exécution continue. Un ordinateur peut fonctionner beaucoup plus longtemps que cela. Utilisez 'GetTickCount64()' à la place. –
J'utilise toujours la durée de la carte réseau. Peut-être que vous pouvez l'obtenir? – NathanOliver
Possible duplicate of [Obtenir par programme le démarrage du système en C++ (windows)] (https://stackoverflow.com/questions/10853985/programmatically-getting-system-boot-up-time-in-c-windows) – ZerosAndOnes
Are Vous êtes sûr que vous avez besoin de quelque chose d'aussi spécifique que "le temps depuis que le bouton d'alimentation a été enfoncé" plutôt que quelque chose de plus sensible comme "le temps écoulé depuis le dernier démarrage"? – glennsl