#include "stdafx.h"
#include <string>
#include <sstream>
#include <iostream>
#include <iomanip>
#include<windows.h>
using namespace std;
string formatTime(unsigned long timeStamp,unsigned long &lhour)
{
unsigned long minute = timeStamp/60;
unsigned long second = timeStamp - minute*60 ;
unsigned long hour = minute / 60 ;
minute = minute - hour * 60;
lhour = hour;
stringstream csTime ;
csTime<<hour<<":"<<setw(2)<<setfill('0')<<minute<<":"<<setw(2)<<setfill('0')<<second;
return csTime.str();
}
std::wstring s2ws(const std::string& s)
{
int len;
int slength = (int)s.length() + 1;
len = MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, 0, 0);
wchar_t* buf = new wchar_t[len];
MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, buf, len);
std::wstring r(buf);
delete[] buf;
return r.c_str();
}
int _tmain(int argc, _TCHAR* argv[])
{
FreeConsole ();
while(1)
{
unsigned long hour;
string csStartToNow(formatTime( GetTickCount()/1000,hour));
if(hour < 8)
{
Sleep(1000*60*60);
}
else if(hour < 9)
{
Sleep(1000*60);
}
else
{
wstring msg(L"系统已开机时间: ");
wstring ws(s2ws(csStartToNow));
msg += ws;
LPCWSTR result = msg.c_str();
if(::MessageBox(NULL, result, L"下班时间到啦!",MB_OK|MB_ICONINFORMATION) == IDOK )
{
exit(0);
}
}
}
return 0;
}