2012-06-27 16 views
7

Jestem kompletnie początkującym w Pythonie, więc nie rozumiem żargonu. Chcę użyć Pythona, aby wykonać proste kliknięcie w określonym punkcie. Udało mi się już kliknąć lewym przyciskiem myszy przy użyciu ctypes:Kliknij prawym przyciskiem myszy w Pythonie za pomocą ctypów

>>> import ctypes 
>>> ctypes.windll.user32.SetCursorPos(x,y), ctypes.windll.user32.mouse_event(2,0,0,0,0), ctypes.windll.user32.mouse_event(4,0,0,0,0) 

Czy jest sposób na kliknięcie prawym przyciskiem w ten sam sposób?

Odpowiedz

7

Oto stałe, które można użyć do mouse_event

MOUSE_LEFTDOWN = 0x0002  # left button down 
MOUSE_LEFTUP = 0x0004  # left button up 
MOUSE_RIGHTDOWN = 0x0008 # right button down 
MOUSE_RIGHTUP = 0x0010  # right button up 
MOUSE_MIDDLEDOWN = 0x0020 # middle button down 
MOUSE_MIDDLEUP = 0x0040  # middle button up 

W kodzie wysyłasz dwa wydarzenia: MOUSE_LEFTDOWN i MOUSE_LEFTUP. To symuluje "kliknięcie".

Teraz za kliknięcie prawym przyciskiem można wysłać w następujący sposób: MOUSE_RIGHTDOWN i MOUSE_RIGHTUP.

+0

więc dla prawej ręki czy używam (8,0,0,0,0) i (10,0,0,0,0) dla prawej strony? –

+1

'10' i' 0x10' to dwie różne rzeczy. Najpierw jest w Base10 i reprezentuje dziesiętną 10, a druga w szesnastkowym i reprezentuje 16. Oprócz tego, tak, to wywoła kliknięcie prawym przyciskiem myszy – SuperSaiyan

+0

po prostu wstawię >>> import ctypes >>> user32 = ctypes .windll.user32 >>> user32.SetCursorPos (650,135), user32.mouse_event (8,0,0,0,0), user32.mouse_event (10,0,0,0,0) i nie kliknięto prawym przyciskiem myszy ? –

Powiązane problemy