トップページ > プログラム > 2014年06月05日 > LLYXa5KT

書き込み順位&時間帯一覧

12 位/289 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000031003000000000007



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C++相談室 part112

書き込みレス一覧

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ではそのようなことには使わないほうがよいというページを見ました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。