2012-06-27 15 views
7

मैं पाइथन के लिए एक पूर्ण शुरुआतकर्ता हूं इसलिए लिंगो को समझ नहीं आता। मैं एक विशिष्ट बिंदु पर एक साधारण क्लिक करने के लिए पायथन का उपयोग करना चाहता हूं। मैंने पहले ही ctypes का उपयोग करके बाएं क्लिक को प्रबंधित किया है:पाइथन में राइट क्लिक करें 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) 

क्या एक ही तरीके से दायाँ क्लिक करने का कोई तरीका है? MOUSE_LEFTDOWN और MOUSE_LEFTUP:

उत्तर

7

यहाँ स्थिरांक है कि आप के लिए 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 

का प्रयोग करेंगे अपने कोड में आप दो घटनाओं भेज रहे हैं। यह एक "क्लिक" अनुकरण करता है।

अब दाएं क्लिक के लिए आप MOUSE_RIGHTDOWN और MOUSE_RIGHTUP इसी तरह के फैशन में भेजेंगे।

+0

तो दाएं नीचे के लिए मैं सही (8,0,0,0,0) और (10,0,0,0,0) का उपयोग करता हूं? –

+1

'10' और' 0x10' दो अलग-अलग चीजें हैं। सबसे पहले बेस 10 में है, और दशमलव 10 का प्रतिनिधित्व करता है, और दूसरा हेक्साडेसिमल में है, और 16 का प्रतिनिधित्व करता है। इसके अलावा, हाँ, यह राइट-क्लिक – SuperSaiyan

+0

पर क्लिक करेगा, मैं सिर्फ >>> आयात 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) और यह सही क्लिक नहीं किया गया ? –

संबंधित मुद्दे