C++定时执行的做法

求一个C++定时执行的做法
新手一个   最近想做一个定时备份的程序  希望设置一个时间(比如2013年11月11日0:0:0),在这个时间执行备份    希望高手给一个比较详细的解答  最好能给点示例程序
C++ 定时执行 定时器

------解决方案--------------------
getlocaltime取得当天时间啊 如果是你要那天就备份 检测周期可以自己设置
可以用了timer  
或者类似linux的一个守护进程 没做过

等你找到确定的一天 用C++
HWND hServer=::FindWindow(NULL,"GOD");
   if (NULL == hServer)
ShellExecute(NULL,   "open",   "GOD.exe",   NULL,   NULL,   SW_SHOWNORMAL);
  搞定
------解决方案--------------------
其他方式的没做过,在MFC中倒是做过类似的事情,可以让线程这样工作:

CEvent help;
CTime current;
while(true){
    WaitForSingleObject(help, 1000);  //空等待1s,不消耗CPU资源
    current = CTime::GetCurrentTime();//获得当前时间
    //下面是伪码
    if(current no longer early than the schedule){//如果计划的时间已经到了
        execute some task;            //例如你想做的备份
        break;                        //让线程自动退出
    }
]

------解决方案--------------------
#include <iostream>
#include <boost/asio.hpp>
#include <boost/asio/deadline_timer.hpp>

void handler(const boost::system::error_code& ex)
{
    //TODO:Backup
}
int main()
{
    boost::asio::io_service io_service;
    boost::asio::deadline_timer tm(io_service,boost::posix_time::seconds(5));
    tm.async_wait(handler);
    io_service.run();

    return 0;
}

------解决方案--------------------
额外线程在作定时操作!获取当前时间 每秒一次,
当时间符合的时候,执行备份操作,其他继续循环等待!