MSDN フォーラムで、32 ビットと 64 ビットの整数に問題があるスレッドを見ました。それが私の問題かどうかはわかりませんが、このコードは機能するはずなので、少し混乱しています。
Windows 7 64 ビットで VB6 を互換モード (XP SP2) で実行しています。
Type POINTAPI ' This holds the logical cursor information
x As Integer
y As Integer
End Type
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
でTimer1_Timer()
...
Dim mousePos As POINTAPI
Call GetCursorPos(mousePos)
MsgBox mousePos.x & " " & mousePos.y
このメッセージ ボックスには、マウスの x 座標の正しい値が表示"0"
されy
ますが、マウスが画面上のどこにあるかに関係なく、 が表示されます。また、GetCursorPos()
戻ってき1
ます。