All pastes #1073863 Raw Edit

vasily

public python v1 · immutable
#1073863 ·published 2008-07-16 23:30 UTC
rendered paste body
## use windll.user32.SetCursorPos(x, y) from ctypes !!# http://kvance.livejournal.com/985732.html# >>> from ctypes import windll# >>> windll.user32.SetCursorPos(0, 0)### http://mail.python.org/pipermail/python-win32/2005-April/003131.htmlfrom ctypes import *import win32conimport win32guiimport win32apiimport timePUL = 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)]def mv(x, y):	windll.user32.SetCursorPos(x, y)def xy():	return win32gui.GetCursorPos()def l_click():	# http://www.daniweb.com/forums/post645736.html	win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)	time.sleep(0.05)	win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)if __name__ == '__main__':    FInputs = Input * 1    extra = c_ulong(0)    ii_ = Input_I()    #ii_.ki = KeyBdInput( 0x26, 0x48, 0, 0, pointer(extra) )    ii_.mi = MouseInput(100, 150, 0, win32con.MOUSEEVENTF_MOVE, 0, pointer(extra))    x = FInputs( ( 1, ii_ ) )    print sizeof(x[0]), x[0]    print windll.user32.SendInput(1, pointer(x), sizeof(x[0]))    print "err",windll.kernel32.GetLastError()