Private Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As LongType POINTAPI
    x As Long
    y As Long
End Type 

解决方案 »

  1.   

    用 GetCursorPos + Timer控件,每过一个很短的时间获取一次鼠标的位置,用两点间距离公式算出距离http://tenner.myetang.com/ 在“VB程序”中有我自己编写的一个鼠标里程计
      

  2.   

    用 GetCursorPos + Timer控件Option Explicit'申明API函数
    Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As LongPrivate Type POINTAPI ' 声明数据类型
    x As Long
    y As Long
    End TypeDim z As POINTAPI ' 变量Private Sub Form_Load()
    Timer1.Enabled = True
    Timer1.Interval = 1
    End SubPrivate Sub Timer1_Timer()
    GetCursorPos z ' 获取坐标End Sub
      

  3.   

    这里是任务栏中添加图标的apih和数据结构
    Declare Function Shell_NotifyIconA Lib "SHELL32" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As LongType NOTIFYICONDATA
         cbSize As Long
         hwnd As Long
         uID As Long
         uFlags As Long
         uCallbackMessage As Long
         hIcon As Long
         szTip As String * 64
    End Type
      

  4.   

    Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As LongPrivate Type POINTAPI
    x As Long
    y As Long
    End Type延时100ms就行
    Private Sub Timer1_Timer()
    Dim a as POINTAPI 
    GetCursorPos a 
    Print a.x
    Print a.y
    End Sub 
      

  5.   

    我也正在找hook Mouse 的方法。用hooks可以解决问题
      

  6.   

    用SETWINDOWSHOOKEX可以很容易的下一个HOOK,但是,这个必须放在独立于所编程序之外的DLL中,而VB不可能编写真正的DLL文件(有人称经实现,但代码不祥)