Winapiラッパーの場合、呼び出しに指定された期間、クロノを使用します。コード例:
bool setTimer(std::chrono::duration<std::chrono::milliseconds> duration)
{
unsigned int dwDuration = Do some chrono magic here
SetTimer(m_hWnd,1,dwDuration,0);
}
dwDurationはミリ秒単位である必要があります。
最初の質問:魔法をどうするか。
2番目の質問:パラメーター宣言は大丈夫ですか?
型の名前は_std::chrono::milliseconds
_で、ミリ秒数を返すメンバー関数count()
があります。
_bool setTimer(std::chrono::milliseconds duration)
{
unsigned int dwDuration = duration.count();
return std::cout << "dwDuration = " << dwDuration << '\n';
}
_
オンラインデモ: http://coliru.stacked-crooked.com/a/03f29d41e9bd260c
超徹底的になりたい場合、count()の戻り値の型は_std::chrono::milliseconds::rep
_です。
小数ミリ秒を処理する場合、型は_std::chrono::duration<double, std::milli>
_になります(count()の戻り型はdoubleになります)。
次のコードを使用できます。
auto now = chrono::high_resolution_clock::now();
auto timeMillis = chrono::duration_cast<chrono::milliseconds>(now.time_since_Epoch()).count();