掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
シリアル通信中のボタンの受付 (ID:68277)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
そださんありがとうございます。 正確にはSTOPボタンを拾えないのではなく、拾うまでに時間がかかっているようです。 GetMessageにしてみても結果はかわりませんでした。 こんなサンプルを作ってみました。 STARTボタンを押したとき { start_time_2 = GetTickCount(); while(1){ start_time_1 = GetTickCount(); while(1){ time_1 = GetTickCount() - start_time_1; if(time_1 > 500)break; } if(::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){ ::TranslateMessage(&msg); ::DispatchMessage(&msg); } count++; if(flg == 1){ AfxMessageBox("STOPボタン確認"); flg = 0; return; } time_2 = GetTickCount() - start_time_2; if(time_2 > 20000)break; } AfxMessageBox("test終了"); } STOPボタンを押したとき { flg = 1; } 処理中はSTOPボタン以外を押せないようにして、STOPされたら復帰させています。 このサンプルで確認したところ、START後、すぐにSTOPボタンを押しても認識するのが遅いです。 例えばスタート1秒後位にSTOPボタンを押しても認識するのは10秒後とかです。 やはり原因はPeekMessageですか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.