2012-06-27 48 views
7

Tôi là người mới bắt đầu hoàn chỉnh với Python nên không hiểu được tiếng lóng. Tôi muốn sử dụng python để làm một nhấp chuột đơn giản tại một điểm cụ thể. Tôi đã quản lý nhấp chuột trái bằng cách sử dụng ctypes:Nhấp chuột phải vào Python bằng cách sử dụng 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) 

có cách nào để thực hiện nhấp chuột phải theo cùng một cách không?

Trả lời

7

Sau đây là các hằng số mà bạn sẽ sử dụng cho 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 

Trong mã của bạn, bạn đang gửi hai sự kiện: MOUSE_LEFTDOWNMOUSE_LEFTUP. Điều đó mô phỏng một "nhấp chuột".

Bây giờ, nhấp chuột phải bạn sẽ gửi MOUSE_RIGHTDOWNMOUSE_RIGHTUP theo cách tương tự.

+0

để giảm tốc độ, tôi có sử dụng (8,0,0,0,0) và (10,0,0,0,0) để chuẩn bị không? –

+1

'10' và' 0x10' là hai thứ khác nhau. Đầu tiên là trong Base10, và đại diện cho thập phân 10, và thứ hai là trong hệ thập lục phân, và đại diện cho 16. Ngoại trừ điều này, có, mà sẽ gọi một nhấp chuột phải – SuperSaiyan

+0

tôi chỉ cần nhập >>> nhập 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) và nó không nhấp chuột phải ? –

Các vấn đề liên quan