键盘连续输入6个数字,如何知道每个数字输入的时间。

问题如题,时间最好精确些(ms)或者求得每两个数字输入的间隔时间,如何用C++实现,最好具体点,看有人说用键盘hook,但是没怎么看懂,求大神莅临指导。

#include
#include
#include

using namespace std;

class KeyTime{
public:
int KeyCode;//按下的键值
time_t* Time = new time_t();//按下键的时间
};

int main(int argc, char *argv[], char *envp[]){

KeyTime* c[6];//输入次数
//输入数字
cout << "请按键:";
for (int i = 0; i < 6; i++)
{
    KeyTime* Item = new KeyTime();
    Item->KeyCode = _getch();
    time(Item->Time);
    c[i] = Item;
    cout << Item->KeyCode;
}
cout << endl;

//展示结果
for (int j = 0; j < 6; j++){
    char buffer[32];
    struct tm newtime;
    localtime_s(&newtime, c[j]->Time);
    strftime(buffer, 32, "%Y-%m-%d %H:%M:%S", &newtime);
    cout << "按下键" << c[j]->KeyCode << "于" << buffer;
    if (j > 0)
    {
        cout << "相差秒数" << difftime(*(c[j]->Time), *(c[j - 1]->Time));
    }
    cout << endl;
}
getchar();
return 0;

}

图片说明
图片说明

数组,储存按下数字的时间
当前已使用的数组元素

当按下数字调用()
{
数组[当前已使用的数组元素]=获取当前时间
当前已使用的数组元素++

}

输出数组
{
temp=数组的后一个减前一个
}