***すれ立てるまでもない質問はここで 第55刷***
■ このスレッドは過去ログ倉庫に格納されています
0754デフォルトの名無しさん
NGNG[mfc 49038] 1ヶ月経過したかどうか(SetTimerのタイムアウト値)
に返信してやってくれないかね。誰も SetTimer() の仕様について
解説していないんだ。参考程度の情報だが、ぜひ教えてやって欲しい。
------
最新のMSDNでは「Win2000では SetTimer の上限値
USER_TIMER_MAXIMUM 以上の値をセットすると
1 がセットされる事になる」と書かれてある。
現在は "USER_TIMER_MAXIMUM" という表現になっているが
ここはつい最近まで "0x7fffffff" という数値で記述されていた。
これはアンタが試した
> 1. 2147483647 → 正常
> (実際にこの時間が経過したときにOnTimerが呼ばれるかどうかの確認は難しく、できていません)
>
> 2. 2147483648 → 異常
> (すぐにOnTimerが呼ばれてしまいます)
という挙動にぴったり当てはまる。つまりこれは仕様って事。
1ヶ月の milliseconds はおよそ 0x9A7EC800 で 0x7fffffff を超えてしまうから
1ヶ月を測るのに SetTimer() は (余程工夫しない限り) 使えないって事ね。
■ このスレッドは過去ログ倉庫に格納されています