2017-10-17 3 views
-5

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?

+0

J'utilise toujours la durée de la carte réseau. Peut-être que vous pouvez l'obtenir? – NathanOliver

+3

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

+0

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

Répondre

-2

enter image description here

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. –