リセットできる単純なノンブロッキング タイマーを C++ で作成しようとしています。いくつかのコード例を見つけるためにしばらくグーグルで検索しましたが、見つけたものはすべて複雑すぎて理解できないか、追加の非サンプルコードなしではコンパイルできません。
キーの押下をファイルに記録するプログラムがありますが、キーが押されてから 1 秒経過する前に別のキーが押されない限り、このファイルを 1 秒間にわたって書き込む必要があります。
Win32 タイマーを使用する必要があると思いますが (私は Windows を使用しています)、コンパイル可能な単純な使用例が見つかりません。
たとえば、情報ページから取得したこのメソッド:
SetTimer(hwnd, // handle to main window
IDT_TIMER1, // timer identifier
1000, // 1-second interval
(TIMERPROC) MyTimerProc); // no timer callback
VOID CALLBACK MyTimerProc(
HWND hwnd, // handle to window for timer messages
UINT message, // WM_TIMER message
UINT idTimer, // timer identifier
DWORD dwTime) // current system time
{
// my proceedure code
FILE *OUTPUT_FILE;
OUTPUT_FILE = fopen("LOG.TXT", "w");
fprintf(OUTPUT_FILE, "%s", "");
fclose(OUTPUT_FILE);
// writes a blank text file.
KillTimer(hwnd, IDT_TIMER1); // stop timer after one call
}
IDT_TIMER1 が定義されていないため、コンパイルされません。
また、これを 2 回呼び出してリセットするのか、1 秒間隔で 2 つの別々の呼び出しを開始するのかはわかりません。
どんな助けでも大歓迎です。