No.2ベストアンサー
- 回答日時:
アプリ内で時間待ちループすることはGUIアプリが一番やってはいけない事です。
なので、SetTimerで一定周期でWM_TIMERメッセージを発生させるのが一般的です。WM_TIMERのイベントハンドラを追加すれば時間経過時の処理が書けます。
SetTimerでは一定周期でイベントが発生するので、回数を数えることで時間経過を知ることが出来ます。例えば、SetTimerで1秒おきにした場合は、3600回で1時間になりますよね。2時間後なら、その倍です。
この回答への補足
ありがとうございます。
WM_TIMERイベントで補足できました。
今回は、経過時間でイベントを発生させましたが、特定の時間にイベントを発生する(例えば、午後1時にBEEP音を鳴らす。午後5時30分に、このアプリケーションが自動的に終了する)ことは可能でしょうか。
何時・何分で動作させたいです。
No.4
- 回答日時:
UINT_PTRの配列化は考えられていないみたいですね。
どちらにしろ、同じウィンドウ内でタイマーイベントを2つ発生させるのは仕組み的に出来ないので、1つのタイマーイベントで2つの処理を同時に行ってください。
この回答への補足
>同じウィンドウ内でタイマーイベントを2つ発生させるのは仕組み的に出来ないので・・・
2つ動いていますが・・・
片方は3秒ごとカウントした数字が表示され、
もう一つは5秒毎にBeep音が鳴っています。
void CTimerTestDlg::OnTimer(UINT_PTR nIDEvent)
{
switch (nIDEvent){
case 1:
case 2:
...
No.3
- 回答日時:
>何時・何分で動作させたいです。
そういったのは用意されていないので、SetTimerで1秒毎に監視イベントを起こしてWindows自身の時計を監視するのが良いと思います。
GetLocalTime()関数を使います。
http://www.dev.pei.jp/programming/sdk/sdk52.html
この取得値と予定していた時刻が一致したら、更に処理を呼び出せば良いことですから。
この回答への補足
ありがとうございます。
新しいタイマーを作成して、1秒毎にGetLocalTime()で時間を調べることに・・・といきなり解決できないエラーが出まして、
UINT_PTR m_nTimer;
の時は問題なかったのですが、
新しいタイマーを作成するために
UINT_PTR m_nTimer[2];
とすると、
error C2040: 'm_nTimer' : 'UINT_PTR [2]' は 'UINT_PTR' と間接操作のレベルが異なります。
WM_DESTORYイベントが発生した時に、KillTimerする時の引数なのですが、
UINT_PTRは配列に定義できないのでしょうか?
No.1
- 回答日時:
この回答への補足
ありがとうございます。
WM_TIMERイベントで補足できました。
時間をはかるようなものは、SetTimer以外はなくて、基本的にこれを使ってプログラムするということですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA メッセージボックスを自動...
-
VBA kernel32 の意味
-
VBSの処理中一旦処理を止めて再...
-
メッセージボックスのボタン名変更
-
Application.ScreenUpdating=Fa...
-
VBSで応答不要のメッセージボッ...
-
Excel VBA で処理中断(DoEvents...
-
ACCESS側からEXCELの書式を設定...
-
Excel VBA 自動的に閉じるMsgBox
-
VB6でフォームをリロードしたい
-
<input type="file">タグで「キ...
-
VB.NET開発(イベントプロシー...
-
[VC++] AfxBeginThreadで生成し...
-
ボタンが押された事を検知する...
-
VC++6.0 CDateTimeCtrl の暴走...
-
Timerのカウントダウンのしかた...
-
Felica Libの使用方法
-
エクセルVBAでクリップボード内...
-
c#でボタンのアクションが終わ...
-
VCでウエイトをミリ秒でかけ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの処理中一旦処理を止めて再...
-
VBA kernel32 の意味
-
ACCESS側からEXCELの書式を設定...
-
メッセージボックスのボタン名変更
-
VBSで応答不要のメッセージボッ...
-
VBA、UserFormを前面に出力して...
-
Application.ScreenUpdating=Fa...
-
Excel VBA で処理中断(DoEvents...
-
「キャンセル」ボタン付きの処...
-
エクセルVBAでクリップボード内...
-
シャットダウン時のExcel強制終...
-
PostMessageの連続送信
-
VBA メッセージボックスを自動...
-
【C#】 あるイベントから別イ...
-
マウスのクリックを無視したい
-
C#で処理中画面を表示したい。
-
MFCのワーカースレッドとUIスレ...
-
Excel VBA 実行中に一瞬フリー...
-
ボタンが押された事を検知する...
-
SendMessage中のメッセージ・ル...
おすすめ情報