服务程序一般都是控制台程序,没有消息循环的拉。用 CreateWaitableTimer The CreateWaitableTimer function creates or opens a waitable timer object.HANDLE CreateWaitableTimer( LPSECURITY_ATTRIBUTES lpTimerAttributes, // SD BOOL bManualReset, // reset type LPCTSTR lpTimerName // object name );
void CALLBACK TimerProc(HWND hwnd, UINT msg, UINT idEvent, DWORD dwTime)
你写一个服务程序看看,TimerProc会执行吗?
可以起一个线程,进行时间的监视,或者Sleep,醒后发消息。发现Sleep很准,我写的一个服务程序里Sleep完后写日志记录下时间,能精确到毫秒.
CreateWaitableTimer
The CreateWaitableTimer function creates or opens a waitable timer object.HANDLE CreateWaitableTimer(
LPSECURITY_ATTRIBUTES lpTimerAttributes, // SD
BOOL bManualReset, // reset type
LPCTSTR lpTimerName // object name
);