python学习_win32 实现模拟键盘输入或者鼠标移动的方法

1.方法一

参考文档
https://blog.csdn.net/qq_45664055/article/details/123573468

ctypes 是一个 Python 库,它提供了调用 C 代码的功能。使用 ctypes 可以调用 Windows API 函数,包括鼠标和键盘的操作。

1.1模拟鼠标操作:

from ctypes import windll
# 定义鼠标的位置  
x = 100  
y = 200  
windll.user32.SetCursorPos(x, y)

1.2模拟键盘操作:

import win32api
示例一:
# 按下左键
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
# 短暂休眠
time.sleep(0.1)
# 松开左键
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
示例二
win32api.keybd_event(65, 0, 0, 0)  # 按下a键
win32api.keybd_event(65, 0, win32con.KEYEVENTF_KEYUP, 0)  # 松开a键

键盘键与虚拟键码对照表
字母和数字键     数字小键盘的键   功能键         其它键   
键   键码    键   键码   键    键码   键          键码   
A   65     0    96    F1    112   Backspace    8   
B   66     1    97    F2    113   Tab        9   
C   67     2    98     F3    114   Clear      12   
D   68     3    99    F4    115   Enter      13   
E   69     4    100   F5    116   Shift      16   
F   70     5    101   F6    117   Control     17   
G   71     6    102   F7    118   Alt        18   
H   72     7    103   F8    119   Caps Lock    20   
I   73     8    104   F9    120   Esc        27   
J   74     9    105   F10   121   Spacebar    32   
K   75     *    106   F11   122   Page Up     33   
L   76     +    107   F12   123   Page Down    34   
M   77     Enter 108   --     --   End        35   
N   78     -    109   --     --   Home       36   
O   79     .    110   --     --   Left Arrow   37   
P   80     /    111   --     --   Up Arrow     38   
Q   81    --    --   --     --    Right Arrow   39   
R   82    --    --   --     --   Down Arrow    40   
S   83    --    --   --     --   Insert       45   
T   84    --    --   --     --   Delete       46   
U   85    --    --   --     --   Help        47   
V   86    --    --   --     --   Num Lock     144   
W   87            
X   88        
Y   89        
Z   90        
0   48        
1   49        
2   50         
3   51         
4   52         
5   53         
6   54         
7   55         
8   56         
9   57    

2.方法二:
PyAutoGUI是一个Python库,用于模拟用户与计算机的交互,如模拟鼠标和键盘的操作、截取屏幕截图等。

示例一:
# 模拟鼠标移动到屏幕上的位置 (100, 200) 
import pyautogui  
pyautogui.moveTo(100, 200)

示例二:
# 模拟按下键盘上的字母"A"
pyautogui.keyDown('a')
示例三
# 模拟按下回车键
pyautogui.press('enter')
示例四:
import pyautogui  
# 自动填充表单  
pyautogui.fill('username', 'myusername')  
pyautogui.fill('password', 'mypassword')  
pyautogui.fill('email', 'myemail@example.com')  
# 提交表单  
pyautogui.press('enter')

示例五:
import pyautogui  
# 搜索指定图像  
location = pyautogui.locateOnScreen('image.png')    
# 输出找到的图像位置  
if location:  
    print('找到图像:', location)  
else:  
    print('未找到图像')
示例六:
# 按下鼠标左键
pyautogui.click(button='left')
示例七:
# 获取屏幕分辨率
screen_width, screen_height = pyautogui.size()
示例八:
# 关闭当前窗口
close_hd = win32gui.SendMessage(hwnd, win32con.WM_CLOSE)  # 根据句柄值关闭窗口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值