2012-06-27 12 views
7

Sono un principiante completo di Python quindi non capisco il gergo. Voglio usare python per fare un semplice clic in un punto specifico. Ho già gestito un clic sinistro utilizzando ctypes:Fare clic con il tasto destro in Python usando i tipi di carattere

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

c'è un modo per fare un click destro nella stessa maniera?

risposta

7

Qui ci sono le costanti che si usa per 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 

Nel codice si invia due eventi: MOUSE_LEFTDOWN e MOUSE_LEFTUP. Questo simula un "clic".

Ora per un clic con il tasto destro si invia MOUSE_RIGHTDOWN e MOUSE_RIGHTUP in un modo simile.

+0

quindi per il diritto in basso uso (8,0,0,0,0,0) e (10,0,0,0,0,0) per l'alto? –

+1

'10' e' 0x10' sono due cose diverse. Il primo è in Base10, e rappresenta il decimale 10, il secondo è esadecimale e rappresenta 16. Tranne ciò, sì, che invocherebbe un clic con il tasto destro del mouse – SuperSaiyan

+0

ho appena inserito >>> importare i tipi di carattere >>> user32 = ctypes .windll.user32 >>> user32.SetCursorPos (650,135), user32.mouse_event (8,0,0,0,0,0), user32.mouse_event (10,0,0,0,0,0) e non ha fatto clic destro ? –