0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

日記 Visual Studio 2019 C++でSetTimerで定期実行する処理の書き方

Posted at

日記

前回の日記「日記 Visual Studio 2019 C++でフォアグラウンドのexeのフルパスとウインドウタイトルの取得」

概要

SetTimerで開始してKillTimerで終了する

プログラム

Sample.cpp
// タイマーを識別するためのTimerID
#define TIMER_ID 1

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        // ウィンドウ生成時
        case WM_CREATE:
        {
            // 第3引数はミリ秒 0.5秒毎に実行
            // 第4引数をNULLにする事で第1引数のhWndのメッセージ処理(このメソッドWndProc)が実行される
            SetTimer(hWnd, TIMER_ID, 500, NULL);
        }
        break;

        // 0.5秒毎に呼ばれる、wParamにはTimerIDが入っている
        case WM_TIMER:
        {
            int wmId = LOWORD(wParam);
            switch (wmId)
            {
                case TIMER_ID:
                {
                    // TODO ここに0.5秒枚に実行される処理を書く

                }
                break;
            }
        }
        break;

        // なんらかのメッセージの時にタイマーを停止する
        case XXXXXX:
        {
            KillTimer(hWnd, TIMER_ID);
        }
        break;
    }
    return 0;
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?