如何在VB中实现此功能?

来源:百度知道 编辑:UC知道 时间:2024/05/16 07:45:30
按下开始按钮后,纪录随后的两次鼠标移动事件(mouse_move)的时间间隔,要求精确到0.00001秒。高手请指点。

GetTickCount的单位虽然是毫秒,但是它的精度是55毫秒,根本不能达到楼主的时间精度要求;timeGetTime的精度可以提高到5-10毫秒;但要达到0.00001秒的时间精度,只能用QueryPerformanceFrequency和QueryPerformanceCounter配合使用来达到,这两个函数能取CPU硬件的震荡频率来计时,每台电脑获得的震荡频率是不同的,这是电脑能达到的最高精度了。
'****************************************
'窗体代码
'****************************************
Option Explicit

Private Sub Command1_Click()
    Command1.Enabled = False
    MoveCounter = 0
    QueryPerformanceFrequency lpFrequency
    GetCursorPos MousePosition
    hHook = SetWindowsHookEx(WH_MOUSE, AddressOf MouseProc, 0, App.ThreadID)
End Sub

'****************************************
'模块代码
'****************************************
Option Explicit

Public Const WH_MOUSE = 7
Public Const HC_ACTION = 0

Public Type LARGE_INTEGER
    lowpart As Long
 &