2012-06-27 27 views
7

Soy un principiante completo de Python, así que no entiendo la jerga. Quiero usar Python para hacer un simple clic en un punto específico. Ya he conseguido un clic izquierdo usando ctypes:Clic derecho en Python usando ctypes

>>> 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) 

¿Hay una manera de hacer un clic derecho en la misma forma?

Respuesta

7

Estas son las constantes que se uso para 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 

En el código que está enviando dos eventos: MOUSE_LEFTDOWN y MOUSE_LEFTUP. Eso simula un "clic".

Ahora, para hacer clic derecho, enviaría MOUSE_RIGHTDOWN y MOUSE_RIGHTUP de una manera similar.

+0

así que para más abajo uso (8,0,0,0,0) y (10,0,0,0,0) para la derecha? –

+1

'10' y' 0x10' son dos cosas diferentes. Primero está en Base10, y representa decimal 10, y el segundo es en hexadecimal, y representa 16. Excepto por esto, sí, eso invocaría un clic derecho – SuperSaiyan

+0

acabo de poner >>> 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) y no hizo clic con el botón derecho ? –

Cuestiones relacionadas