读书人

DLL 定时功能 请问

发布时间: 2012-04-01 17:23:46 作者: rapoo

DLL 定时功能 请教!
一个DLL,需要定时器,每十妙弹一个消息框,
由于没有窗口句柄,所以不可以用SETTIMER.,也不能用MSG消息循环,DLL建窗口的建议不太好..

在论坛里只有
请教各位有没有其它方法..最好给出代码,,谢谢 ^_^


[解决办法]
GetTickCount()试试
譬如你可以做个这样的函数
void DelayTime( DWORD ms )
{
DWORD startTick, endTick;
startTick = endTick = GetTickCount();
while( endTick - startTick < ms )
{
endTick = GetTickCount();
}
}
[解决办法]
while(1)
{
MessageBox( "123 ");
Sleep(10*1000);
}
[解决办法]
以下代码就可以了,不用窗口句柄的。
VOID CALLBACK TimerProc( HWND hwnd,
UINT uMsg,
UINT_PTR idEvent,
DWORD dwTime
)
{
MessageBox( "123 ");
};


::SetTimer( NULL ,2,
1000,
TimerProc,



[解决办法]
新建一线程就ok

HANDLE hThrd;
int slot;
DWORD m_threadId;

hThrd = ( HANDLE )_beginthreadex( NULL, 0, ScheduleCheck, ( LPVOID ) slot, 0, &m_threadId ) ;

unsigned __stdcall ScheduleCheck(LPVOID args) {
while(XX) {
Sleep(10*1000);
MessageBox();
}
}

读书人网 >VC/MFC

热点推荐