ホーム » 2010 » 9月 » 30

日別アーカイブ: 2010/09/30

2010年9月
 1234
567891011
12131415161718
19202122232425
2627282930  

カテゴリー

アーカイブ

ブログ統計情報

  • 99,348 アクセス


「応答なし」になり難くする

//*******************************************************************************
// 関数名 :時間がかかる時に,応答なしにならない様にする
// 作成日 :’07/10/05
//*******************************************************************************
BOOL WaitPeek (void)
{
  MSG msg ;
  ::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE) ;
  return TRUE ;
  }

//*******************************************************************************
// 関数名 :時間がかかる時に他に制御を回す
// 作成日 :’95/12/05
//*******************************************************************************
BOOL Wait (void)
{
  MSG msg ;
  for (int msgCnt=0 ; msgCnt < 1000 ; msgCnt++) {
    if (::PeekMessage(&msg ,NULL,0,0,PM_REMOVE)) {
      if (msg.message == WM_QUIT) {
        return FALSE ;
        }
      ::TranslateMessage(&msg) ;
      ::DispatchMessage(&msg) ;
      continue ;
      }
    break ;
    }
  return TRUE ;
  }


2011/11/02 追加
//*******************************************************************************
// 関数名 :時間がかかった時に,不要なイベントをスキップする
// 作成日 :’11/03/31
//*******************************************************************************
inline
BOOL EatMessage (const HWND wnd=NULL,const UINT skipWM=WM_TIMER)
{
  MSG eatMsg;
  while(::PeekMessage(&eatMsg,wnd,skipWM,skipWM,PM_REMOVE)) ;
  return TRUE ;
  }


HelpWait.hxx

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.