私のコントロール外のサードパーティアプリケーション(最上位のプログラム)が起動している間にマウスを動かそうとしています。理想的には、マウスを現在の位置に相対的に移動させたいが、絶対位置を使用することは難しいことではない。ここに私が現在使っているものがあります。vb.netのマウスイベント
<DllImport("user32.dll")> _
Private Shared Sub mouse_event(dwFlags As UInteger, dx As UInteger, dy As UInteger, dwData As UInteger, dwExtraInfo As Integer)
End Sub
Public Sub MoveMouse(ByVal xPos As Long, ByVal yPos As Long)
mouse_event(MOUSEEVENTF_MOVE, xPos, yPos, 0, 0)
End Sub
Public Const MOUSEEVENTF_MOVE = &H1
と呼ばれます。
MoveMouse(100, 100)
私の問題はマウスの動きがyではなくxであることです。私はいくつかのトラブルシューティングを試みましたが、コールの最初の値(xPos)は実際にxではなくyで移動した距離です。 yPosは何もしません。 たとえば、次のコードはマウスを50ピクセル下に移動します。
MoveMouse(50, 0)
私は間違っていますか?次のコードは、作業を行うため
「MOUSEEVENTF_MOVE」の定義を入れてください。 – Aybe
@Aybe woopse ..ありがとう!私は今質問にそれを加えました。 – FraserOfSmeg
私のために働いた。ただし、xPosとYposは 'UInt32'として宣言する必要があります。 –