6

ウィンドウで経過時間をミリ秒単位で取得しようとしています。これを行う唯一の方法は、FILETIME 構造体を使用して 1601 年から 100 ナノ秒を取得することです。しかし、FILETIME 構造体は値を 2 つの変数に格納します。この構造体の 2 つを減算し、それらを 10000 で除算して (ミリ秒を取得するため)、結果を単一の変数に格納する方法を知りたいです。ビジュアルで c++ を使用しています。スタジオ 2008 エクスプレス エディション

4

2 に答える 2

6

のドキュメントを読むFILETIME:

FILETIME構造体の値を加算および減算して相対時間を取得することはお勧めしません。代わりに、ファイル時刻の下位部分と上位部分をULARGE_INTEGER構造体にコピーし、 QuadPartメンバーで64 ビット演算を実行して、 LowPartメンバーとHighPartメンバーをFILETIME構造体にコピーする必要があります。

そして、そこにあなたの単一の番号もあります(構造QuadPartULARGE_INTEGER)。

于 2012-04-04T10:54:35.207 に答える
0
FILETIME ft1;
FILETIME ft2;

int iDifferenceInMS = (*((ULONGLONG*)&ft2) - *((ULONGLONG*)&ft1))/10000;
于 2012-04-04T17:56:07.667 に答える