void _Sleep_(UINT Delay_ms)
{
DWORD dwTick = GetTickCount() + Delay_ms;
while(GetTickCount() < dwTick)
{
MSG msg;
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if (msg.message == WM_QUIT) break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
Sleep(0);
}
}