私はある時間後に呼び出さなければならないC++の関数があり、この作業が繰り返されます。 Win32やpthreadに組み込まれている関数やサンプルコードを知っていますか?C++のスケジュールされたタスクのためのWin32関数
おかげで、
ジュリアン
私はある時間後に呼び出さなければならないC++の関数があり、この作業が繰り返されます。 Win32やpthreadに組み込まれている関数やサンプルコードを知っていますか?C++のスケジュールされたタスクのためのWin32関数
おかげで、
ジュリアン
方法についてSetTimer。
サイドノートと同様、OSで実行できるコードで何かをやっていないことを願っています。 (私は言うべきあなたの要求については十分に分かっていませんが、私はそれを指摘したいと思いました)。
タスクスケジューラ(ウィンドウ)は、定期的なタスクのスケジューリングに使用されるもので、手作業によるソリューションよりも優れています。
SetTimer!
例:
#include <windows.h>
#include <stdio.h>
void CALLBACK scheduled_task_1 (HWND hwnd, UINT msg, UINT id, DWORD time)
{
puts("Executing scheduled_task_1 every half-second event");
}
void CALLBACK scheduled_task_2 (HWND hwnd, UINT msg, UINT id, DWORD time)
{
puts("Executing scheduled_task_2 every two seconds event");
}
void CALLBACK scheduled_task_3 (HWND hwnd, UINT msg, UINT id, DWORD time)
{
puts("Executing scheduled_task_3 24 hours event");
}
void messageLoop(void) {
MSG msg;
while (GetMessage(&msg, NULL, 0, 0) > 0)
DispatchMessage(&msg);
}
int main(void)
{
while(true)
{
SetTimer (NULL, 0, 500, scheduled_task_1); /* every half-second */
SetTimer (NULL, 0, 2000, scheduled_task_2); /* every two seconds */
SetTimer (NULL, 0, 60*60*24*1000, scheduled_task_3); /* after 24 hours or 86400000 milliseconds */
messageLoop();
}
return 0;
}
は、どのように私は戻って通話を行うことができますし、コールバックに値を渡しますか?例:void CALLBACK scheduled_task_1(HWND hwnd、UINT msg、UINT id、DWORD時刻、int my_number){..}; ? – programmer