您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 盐城分类信息网,免费分类信息发布

Python实现windows下模拟按键和鼠标点击的方法

2025/10/24 4:34:33发布46次查看
本文实例讲述了python实现windows下模拟按键和鼠标点击的方法。分享给大家供大家参考。具体如下:
这段代码可以模拟在窗口上按下按键、鼠标左键点击、鼠标右键点击、鼠标双击等等
## _*_ coding:utf-8 _*_import win32apiimport win32conimport win32guifrom ctypes import *import timevk_code = { 'backspace':0x08, 'tab':0x09, 'clear':0x0c, 'enter':0x0d, 'shift':0x10, 'ctrl':0x11, 'alt':0x12, 'pause':0x13, 'caps_lock':0x14, 'esc':0x1b, 'spacebar':0x20, 'page_up':0x21, 'page_down':0x22, 'end':0x23, 'home':0x24, 'left_arrow':0x25, 'up_arrow':0x26, 'right_arrow':0x27, 'down_arrow':0x28, 'select':0x29, 'print':0x2a, 'execute':0x2b, 'print_screen':0x2c, 'ins':0x2d, 'del':0x2e, 'help':0x2f, '0':0x30, '1':0x31, '2':0x32, '3':0x33, '4':0x34, '5':0x35, '6':0x36, '7':0x37, '8':0x38, '9':0x39, 'a':0x41, 'b':0x42, 'c':0x43, 'd':0x44, 'e':0x45, 'f':0x46, 'g':0x47, 'h':0x48, 'i':0x49, 'j':0x4a, 'k':0x4b, 'l':0x4c, 'm':0x4d, 'n':0x4e, 'o':0x4f, 'p':0x50, 'q':0x51, 'r':0x52, 's':0x53, 't':0x54, 'u':0x55, 'v':0x56, 'w':0x57, 'x':0x58, 'y':0x59, 'z':0x5a, 'numpad_0':0x60, 'numpad_1':0x61, 'numpad_2':0x62, 'numpad_3':0x63, 'numpad_4':0x64, 'numpad_5':0x65, 'numpad_6':0x66, 'numpad_7':0x67, 'numpad_8':0x68, 'numpad_9':0x69, 'multiply_key':0x6a, 'add_key':0x6b, 'separator_key':0x6c, 'subtract_key':0x6d, 'decimal_key':0x6e, 'divide_key':0x6f, 'f1':0x70, 'f2':0x71, 'f3':0x72, 'f4':0x73, 'f5':0x74, 'f6':0x75, 'f7':0x76, 'f8':0x77, 'f9':0x78, 'f10':0x79, 'f11':0x7a, 'f12':0x7b, 'f13':0x7c, 'f14':0x7d, 'f15':0x7e, 'f16':0x7f, 'f17':0x80, 'f18':0x81, 'f19':0x82, 'f20':0x83, 'f21':0x84, 'f22':0x85, 'f23':0x86, 'f24':0x87, 'num_lock':0x90, 'scroll_lock':0x91, 'left_shift':0xa0, 'right_shift ':0xa1, 'left_control':0xa2, 'right_control':0xa3, 'left_menu':0xa4, 'right_menu':0xa5, 'browser_back':0xa6, 'browser_forward':0xa7, 'browser_refresh':0xa8, 'browser_stop':0xa9, 'browser_search':0xaa, 'browser_favorites':0xab, 'browser_start_and_home':0xac, 'volume_mute':0xad, 'volume_down':0xae, 'volume_up':0xaf, 'next_track':0xb0, 'previous_track':0xb1, 'stop_media':0xb2, 'play/pause_media':0xb3, 'start_mail':0xb4, 'select_media':0xb5, 'start_application_1':0xb6, 'start_application_2':0xb7, 'attn_key':0xf6, 'crsel_key':0xf7, 'exsel_key':0xf8, 'play_key':0xfa, 'zoom_key':0xfb, 'clear_key':0xfe, '+':0xbb, ',':0xbc, '-':0xbd, '.':0xbe, '/':0xbf, '`':0xc0, ';':0xba, '[':0xdb, '\\':0xdc, ']':0xdd, ':0xde, '`':0xc0}class point(structure): _fields_ = [(x, c_ulong),(y, c_ulong)]def get_mouse_point(): po = point() windll.user32.getcursorpos(byref(po)) return int(po.x), int(po.y)def mouse_click(x=none,y=none): if not x is none and not y is none: mouse_move(x,y) time.sleep(0.05) win32api.mouse_event(win32con.mouseeventf_leftdown, 0, 0, 0, 0) win32api.mouse_event(win32con.mouseeventf_leftup, 0, 0, 0, 0)def mouse_dclick(x=none,y=none): if not x is none and not y is none: mouse_move(x,y) time.sleep(0.05) win32api.mouse_event(win32con.mouseeventf_leftdown, 0, 0, 0, 0) win32api.mouse_event(win32con.mouseeventf_leftup, 0, 0, 0, 0) win32api.mouse_event(win32con.mouseeventf_leftdown, 0, 0, 0, 0) win32api.mouse_event(win32con.mouseeventf_leftup, 0, 0, 0, 0)def mouse_move(x,y): windll.user32.setcursorpos(x, y)def key_input(str=''): for c in str: win32api.keybd_event(vk_code[c],0,0,0) win32api.keybd_event(vk_code[c],0,win32con.keyeventf_keyup,0) time.sleep(0.01)if __name__ == __main__: mouse_click(1024,470) str = 'hello' key_input(str)
希望本文所述对大家的python程序设计有所帮助。
盐城分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product