如何取得滑鼠在表單外時的狀態:

如何取得滑鼠的XY軸?

  這問題解決得最早,因為用GetCursorPos就能解決!以下是範例:

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Private Type POINTAPI
 x As Long
 y As Long
End Type

Private Sub Form_Activate()
Dim Mouse As POINTAPI
 Do
  DoEvents
  GetCursorPos Mouse
  Label1.Caption = Mouse.x & ":" & Mouse.y
 Loop
End Sub

如何取得滑鼠的按鍵狀態?

  非常感謝網友smith提供中間鍵的資料!

Private Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer

'以下是一些站長自定的常數,在API檢視員中絕對找不到
Private Const CHECKMOUSE_LEFT = &H1
Private Const CHECKMOUSE_RIGHT = &H2
Private Const CHECKMOUSE_MIDDLE = &H4

Private Sub Form_Activate()
 Do
  Doevents
  If GetAsyncKeyState(CHECKMOUSE_LEFT) Then
   Do Until GetAsyncKeyState(CHECKMOUSE_LEFT) = 0
    Doevents
   Loop
   MsgBox "左鍵Click了一下!"
  End If
  If GetAsyncKeyState(CHECKMOUSE_RIGHT) Then
   Do Until GetAsyncKeyState(CHECKMOUSE_RIGHT) = 0
    Doevents
   Loop
   MsgBox "右鍵Click了一下!"
  End If
        If GetAsyncKeyState(CHECKMOUSE_Middle) Then
             Do Until GetAsyncKeyState(CHECKMOUSE_Middle) = 0
                 DoEvents
            Loop
            Text1.Text = "中鍵Click了一下!"
        End If
 Loop
End Sub


上一頁