멀티 쓰레드 프로그램 환경에서 Sleep 대신 약간의 딜레이가 필요 할때가 있다.
나의 경우 여러 스크린샷을 찍어 저장할때 사용 하였다.
C++
void CMainFrame::Delay()
{
MSG msg;
DWORD dwStart;
dwStart = GetTickCount();
while(GetTickCount() - dwStart < 1500) // 1000 =1초
{
while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
C#
private DateTime Delay(int ms)
{
DateTime dateTimeNow = DateTime.Now;
TimeSpan duration = new TimeSpan(0, 0, 0, 0, ms);
DateTime dateTimeAdd = dateTimeNow.Add(duration);
while (dateTimeAdd >= dateTimeNow)
{
System.Windows.Forms.Application.DoEvents();
dateTimeNow = DateTime.Now;
}
return DateTime.Now;
}
'프로그래밍언어 > C#, .net' 카테고리의 다른 글
vs2010 pinvokestackimbalance 관련 예외(크리스탈 리포트) (0) | 2013.05.16 |
---|---|
vs2010 pinvokestackimbalance 관련 예외 (0) | 2013.05.15 |
Visual Studio에서 classview 안나올때 (0) | 2013.03.07 |
ASP 파일 읽기 (0) | 2009.10.20 |
ASP에서 Cache-Control 설정 하기 (0) | 2009.04.01 |
댓글