- C++相談室 part112
897 :デフォルトの名無しさん[]:2014/06/05(木) 08:03:46.71 ID:LLYXa5KT - Aというダイアログで作ったスレッドとBというダイアログで停止させたり、再度開始させたりしたいのですが
そのようなことはできますか 具体的に言うとタイマーのスレッドがあって、オプション画面でそのタイマーの時間を変更して、 メインの画面で立てたスレッドにオプション画面を閉じた時に反映させたいのですが
|
- C++相談室 part112
899 :デフォルトの名無しさん[sage]:2014/06/05(木) 08:24:49.25 ID:LLYXa5KT - >>898
とりあえずC++のプログラム内でWINAPIでスレッドを立てていますが ダイアログごとソースが分かれていますので 何処で何をしないといけないのかがわかりません よろしくお願いします。
|
- C++相談室 part112
901 :デフォルトの名無しさん[sage]:2014/06/05(木) 08:40:49.60 ID:LLYXa5KT - >>900
ありがとうございます。 やってみます
|
- C++相談室 part112
903 :デフォルトの名無しさん[sage]:2014/06/05(木) 09:21:48.50 ID:LLYXa5KT - >>902
そもそもタイマーを作ったことがないのですが、 スレッドを使わないやり方が普通でしょうか
|
- C++相談室 part112
906 :デフォルトの名無しさん[]:2014/06/05(木) 12:15:51.18 ID:LLYXa5KT - このようなスレッドですがだめでしょうか
UINT WINAPI timerThread(LPVOID param) { HANDLE hTimer = CreateWaitableTimer (NULL, TRUE, NULL); while (1) { LARGE_INTEGER li; li.QuadPart = -10000000*60; SetWaitableTimer (hTimer, &li, 0, NULL, NULL, FALSE); WaitForSingleObject(hTimer, INFINITE); // 指定時間までここで待機 func(); Sleep(1000); } return TRUE; }
|
- C++相談室 part112
908 :デフォルトの名無しさん[sage]:2014/06/05(木) 12:27:17.22 ID:LLYXa5KT - 特にWINAPIにこだわっているわけじゃなく、これしか見つけれなかったんですよね・・・orz
|
- C++相談室 part112
910 :デフォルトの名無しさん[sage]:2014/06/05(木) 12:45:39.69 ID:LLYXa5KT - >>909
実際のソースでは何時何分の情報から待機秒を計算して使っています。 SetTimerではそのようなことには使わないほうがよいというページを見ました。
|