mobile 365365051

Python操作鼠标键盘(复制/剪切/双击/点击/移动等)

Python操作鼠标键盘(复制/剪切/双击/点击/移动等)

安装

1.首先下载安装pywin32

地址:https://github.com/mhammond/pywin32/

这里用安装包进行安装,选择对应的版本

下一步就是无脑安装即可……

打开cmd,查看是否安装完成:

ok~~说明安装成功!!!

在PyCharm中引入pywin32的model:

选中后Install Package!

下面上代码查看如何使用:

使用

打开百度

#

# _*_ coding:UTF-8 _*_

import win32api

import win32con

import win32gui

from ctypes import *

import time

VK_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)

# 获取剪切板内容

def getCut():

wc.OpenClipboard()

t = wc.GetClipboardData(win32con.CF_UNICODETEXT)

wc.CloseClipboard()

return t

# 写入剪切板内容

def setCut(str):

wc.OpenClipboard()

wc.EmptyClipboard()

wc.SetClipboardData(win32con.CF_UNICODETEXT, str)

wc.CloseClipboard()

# ctrl+c

def key_copy():

win32api.keybd_event(VK_CODE["ctrl"], 0, 0, 0)

time.sleep(0.01)

win32api.keybd_event(VK_CODE["c"], 0, 0, 0)

win32api.keybd_event(VK_CODE["c"], 0, win32con.KEYEVENTF_KEYUP, 0)

win32api.keybd_event(VK_CODE["ctrl"], 0, win32con.KEYEVENTF_KEYUP, 0)

# ctrl+v

def key_paste():

win32api.keybd_event(VK_CODE["ctrl"], 0, 0, 0)

time.sleep(0.01)

win32api.keybd_event(VK_CODE["v"], 0, 0, 0)

win32api.keybd_event(VK_CODE["v"], 0, win32con.KEYEVENTF_KEYUP, 0)

win32api.keybd_event(VK_CODE["ctrl"], 0, win32con.KEYEVENTF_KEYUP, 0)

# 获取复制板内容

def getCopy():

wc.OpenClipboard()

copytxet = wc.GetClipboardData()

wc.CloseClipboard()

return str(copytxet)

# 截图

def ctrl_alt_a():

win32api.keybd_event(VK_CODE["ctrl"], 0, 0, 0)

time.sleep(0.01)

win32api.keybd_event(VK_CODE["alt"], 0, 0, 0)

time.sleep(0.01)

win32api.keybd_event(VK_CODE["a"], 0, 0, 0)

win32api.keybd_event(VK_CODE["a"], 0, win32con.KEYEVENTF_KEYUP, 0)

win32api.keybd_event(VK_CODE["alt"], 0, win32con.KEYEVENTF_KEYUP, 0)

win32api.keybd_event(VK_CODE["ctrl"], 0, win32con.KEYEVENTF_KEYUP, 0)

if __name__ == "__main__":

mouse_click(849, 425)

str = 'hello'

key_input(str)

mouse_click(707, 131)

鼠标点击的点可以通过截图的坐标来完成!!!!

相关推荐