Btw вы должны указать, в какой среде вы работаете и сделать свой кодогенератора бит более подробно. Использование SendInput - это один из вариантов, я не знаю, что вы пытаетесь сделать точно, но я дам вам еще два варианта для моделирования кликов. Нечто подобное будет отлично работает (I код в Python, но она должна быть та же идея):
def leftClick(x=0, y=0):
win32api.SetCursorPos((x,y)) #set the cursor to where you wanna click
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x, y, 0, 0) #generate a mouse event
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x, y, 0, 0)
return True
def doubleClick(x=0, y=0):
leftClick(x,y)
leftClick(x,y)
Вы могли бы спать в течение 50 мс между time.sleep (0.05), но это работает для меня без него, и я 'испытал в vm.
Другой вариант, если вы хотите выполнить бесшумные клики, не перемещая курсор, вы можете отправить сообщение в окно, где вы хотите щелкнуть значком дескриптора окна (hwnd), здесь я предполагаю, что вы передаете дескриптор как параметр.
def leftClick(x=0, y=0, hwnd):
lParam = win32api.MAKELONG(x,y) # create a c long type to hold your click coordinates
win32gui.SendMessage(hwnd, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, lparam) # send a message to the window that the mouse left button is down.
win32gui.SendMessage(hwnd, win32con.WM_LBUTTONUP, 0, lparam) # send a message to the window that the mouse left button is up.
return True
def doubleClick(x=0, y=0, hwnd):
leftClick(x,y, hwnd)
leftClick(x,y, hwnd)
или вы можете отправить сообщение WM_LBUTTONDBLCLK до вас.
Дубликат: http://stackoverflow.com/questions/5789843/how-i-can-simulate-a-double-mouse-click-on-window-i-khow-handle-on-xy-coord –
Вы должны предоставить код. – manuell