Я пытаюсь переместить мышь, пока приложение третьей стороны (из моего контроля) активировано (самая верхняя программа). В идеале я хочу переместить мышь относительно моей текущей позиции, но использовать абсолютные позиции не составит труда. Вот что я сейчас использую;События мыши в 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) на самом деле - это расстояние, перемещенное по y, а не x. YPos ничего не делает. Например, приведенный ниже код перемещает мышь на 50 пикселей;
MoveMouse(50, 0)
Что я делаю неправильно?
Поместите свое определение 'MOUSEEVENTF_MOVE'. – Aybe
@Aybe woopse .. спасибо! Я добавил его к вопросу сейчас. – FraserOfSmeg
Работал для меня. Хотя, xPos и Ypos должны быть объявлены как 'UInt32'. –