Я создаю настольное приложение в VB.Net, которое должно имитировать нажатия мыши в других приложениях. Вот код, который я получил до сих пор:Попытка имитировать мышь вниз, но при этом возникает ошибка дисбаланса стека. Возможно, с неправильными переменными?
Public Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)
Public Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down
Public Const MOUSEEVENTF_LEFTUP = &H4 ' left button up
Public Const MOUSEEVENTF_MIDDLEDOWN = &H20 ' middle button down
Public Const MOUSEEVENTF_MIDDLEUP = &H40 ' middle button up
Public Const MOUSEEVENTF_RIGHTDOWN = &H8 ' right button down
Public Const MOUSEEVENTF_RIGHTUP = &H10 ' right button up
Теперь, когда я звоню, я это сделать:
mouse_event(MOUSEEVENTF_LEFTDOWN, Cursor.Position.X, Cursor.Position.Y, 0, 0)
Однако я получаю сообщение об ошибке:
вызова функции PInvoke небалансные стек
Я сделал некоторые исследования, и я полагаю, что я underst и что это значит, но я не могу это исправить.
Я пробовал делать Long.Parse (значение) для всех моих значений Integer, но я все равно получаю ошибку.
Может ли кто-нибудь предложить исправить?
Если вам нужна дополнительная информация, то дайте мне знать!
- Visual Studio 2010
- VB.NET 4,5
Ваш API вызова выглядит VB6-иш. См. [Как дважды щелкнуть по позиции курсора] (http://stackoverflow.com/a/24291099/719186) – LarsTech
Я знаю, хаха, это довольно VB6-иш. Я не нашел способ полностью конвертировать его в VB.Net, я старался изо всех сил! –
@LarsTech Это исправило это! Огромное вам спасибо: D –