C#中如何调用PeekMessage()

要在C#中实现非阻塞式延时,类似于MFC中封装的XSleep函数
void XSleep(DWORD dwTime)
{
DWORD dwEndTime = timeGetTime()+dwTime;
while (timeGetTime()<dwEndTime)
{
MSG msg;
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
}
}

要在C#中实现XSleep函数,应该怎么调用PeekMessage,TranslateMessage,DispatchMessage呢

你这是c++的代码吧,
c#里可以启动一个timer,然后时间到了自动执行回调函数