본문 바로가기
C & C++/C & C++

[Tip] Sleep() 함수 대신 프로그램 딜레이 시키기

by izen8 2011. 3. 31.
반응형

Sleep()함수를 쓰면 지정된 시간동안, 메세지루프를 돌지 않기 때문에 프로그램이 먹통이 되거나 우리가 원하는 결과가 나타나지 않을 수 있다. 아래의 함수를 정의해서 사용하면, Sleep()하는 효과를 나타내면서 메세지루프를 돌기 때문에 위와 같은 현상을 해결할 수 있다.



void
 CNumberGameDlg::Wait(DWORD dwMillisecond)
{
MSG msg;
DWORD dwStart;
dwStart = GetTickCount();

while(GetTickCount() - dwStart < dwMillisecond)
{
while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
반응형

'C & C++ > C & C++' 카테고리의 다른 글

CString BYTE, WORD, DWORD  (0) 2011.03.31
[Tip] 모니터 해상도 구하기  (0) 2011.03.31
파일 복사시 진행률 받아오기  (0) 2011.03.29
[Tip] 에러 메시지 얻기  (0) 2011.03.29
파일 저장하기  (0) 2011.03.29

댓글