Originally Posted by
eddwills
Also, I leave my PC on 24/7 and reboot it about once a week, does my computer know this? Does it know how long it's been 'awake'?
Here's code I've found and used for calculating uptime.
Code:
//time.h
class TIME
{
public:
char szUptime[128];
DWORD ticks;
DWORD days;
DWORD hours;
DWORD minutes;
DWORD seconds;
DWORD millisecs;
DWORD thours;
DWORD tminutes;
DWORD tseconds;
DWORD tmillisecs;
DWORD udays;
DWORD uhours;
DWORD uminutes;
DWORD useconds;
DWORD umillisecs;
TIME();
void GetUptime();
};
TIME::TIME()
{
ZeroMemory(szUptime, 128);
ticks = 0;
days = 0;
hours = 0;
minutes = 0;
seconds = 0;
millisecs = 0;
thours = 0;
tminutes = 0;
tseconds = 0;
tmillisecs = 0;
udays = 0;
uhours = 0;
uminutes = 0;
useconds = 0;
umillisecs = 0;
}
void TIME::GetUptime()
{
DWORD tTicks = 0;
ticks = GetTickCount();
tTicks = ticks;
udays = tTicks/(1000*60*60*24);
tTicks -= udays*(1000*60*60*24);
uhours = tTicks/(1000*60*60);
thours = uhours + (udays*24);
tTicks -= uhours*(1000*60*60);
uminutes = tTicks/(1000*60);
tminutes = uminutes + (thours*60);
tTicks -= uminutes*(1000*60);
useconds = tTicks/(1000);
tseconds = useconds + (tminutes*60);
tTicks -= useconds*(1000);
umillisecs = tTicks;
tmillisecs = ticks;
}
Code:
//main.cpp
#include <windows.h>
#include "time.h"
int WinMain(HINSTANCE hInst, HINSTANCE hPInst, LPSTR CmdLine, int nCmdShow)
{
char uptime[100];
TIME crUptime;
crUptime.GetUptime();
wsprintf(uptime, "%d days %d hours %d minutes %d seconds %d milliseconds",
crUptime.udays, crUptime.uhours, crUptime.uminutes, crUptime.useconds, crUptime.umillisecs);
MessageBox(NULL, uptime, "UPTIME", MB_OK);
return 0;
}