トップページ > プログラム > 2016年02月19日 > 4ohwfksv

書き込み順位&時間帯一覧

29 位/215 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000010001002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Win32API質問箱 Build122

書き込みレス一覧

Win32API質問箱 Build122
81 :デフォルトの名無しさん[sage]:2016/02/19(金) 17:44:52.75 ID:4ohwfksv
時間のかかる処理において、ESCキーで処理を中止できるようにする場合、
 if (GetAsyncKeyState(VK_ESCAPE) != 0)
で判定する場合と

 while (PeekMessage(&msg, hwnd, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE)) {
  if (msg.message == WM_KEYDOWN && msg.wParam == VK_ESCAPE)
で判定する場合と

で、どちらも期待通りに動いていますが、お作法としてはこっちがいい。
ということはありますか?
Win32API質問箱 Build122
83 :デフォルトの名無しさん[sage]:2016/02/19(金) 21:08:52.65 ID:4ohwfksv
なるほど、よく分かりました。
フォーカスのことを失念していました。
このままだと、処理中に別のアプリケーションで作業しつつESCを押すと
本処理が中断されてしまいますね。

スレッドに関しては仰るとおりです。
どうもありがとうございました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。