![]() |
|
#2
|
|||
|
|||
|
I ran into a similar issue a few years ago. What I came up with is show below. I found this function that acts as if the mouse has been moved and the left button clicked.
Code:
from ctypes import *
import time, win32con, win32gui
PUL = POINTER(c_ulong)
class KeyBdInput(Structure):
_fields_ = [("wVk", c_ushort),
("wScan", c_ushort),
("dwFlags", c_ulong),
("time", c_ulong),
("dwExtraInfo", PUL)]
class HardwareInput(Structure):
_fields_ = [("uMsg", c_ulong),
("wParamL", c_short),
("wParamH", c_ushort)]
class MouseInput(Structure):
_fields_ = [("dx", c_long),
("dy", c_long),
("mouseData", c_ulong),
("dwFlags", c_ulong),
("time",c_ulong),
("dwExtraInfo", PUL)]
class Input_I(Union):
_fields_ = [("ki", KeyBdInput),
("mi", MouseInput),
("hi", HardwareInput)]
class Input(Structure):
_fields_ = [("type", c_ulong),
("ii", Input_I)]
class POINT(Structure):
_fields_ = [("x", c_ulong),
("y", c_ulong)]
def click(x,y):
orig = POINT()
windll.user32.GetCursorPos(byref(orig))
windll.user32.SetCursorPos(x,y)
FInputs = Input * 2
extra = c_ulong(0)
ii_ = Input_I()
ii_.mi = MouseInput( 0, 0, 0, 2, 0, pointer(extra) )
ii2_ = Input_I()
ii2_.mi = MouseInput( 0, 0, 0, 4, 0, pointer(extra) )
x = FInputs( ( 0, ii_ ), ( 0, ii2_ ) )
windll.user32.SendInput(2, pointer(x), sizeof(x[0]))
return orig.x, orig.y
click(1,1) and it's like you clicked it at the location x=1,y=1. For me, the mouse click was actually more important than moving the mouse, so I ended up modifying the the code so that instead of moving the mouse to the passed x and y, I just kept it at the same point and performed the mouse click. Aaron |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| viz.STEREO mouse problem | moneim230 | Vizard | 0 | 12-05-2010 01:32 AM |
| mouse pointer | shahramy | Vizard | 3 | 09-07-2010 03:22 PM |
| Laser Pointer Question (Again) | Elittdogg | Vizard | 5 | 09-08-2009 01:02 PM |
| how to make the mouse pointer pain... | yak | Vizard | 0 | 05-30-2009 08:05 PM |
| Mouse problem | steve | Vizard | 7 | 07-14-2005 04:01 PM |