这是一种制作模拟按键程序的Python方法,只为了辅助用户自动按键来进行某些重复性操作。
首先需要两个库分别是win32api和ctypes
win32api用来模拟用户点击,ctypes是获取按键扫描码
库就不多说怎么装了,就说模拟按键,银狐需要模拟按键是F9,但是一个F9码是120,一个是按键扫描码。
百度到的方法基本都是120的,但是模拟都无效,才发现需要用按键扫描码才能实现模拟按键。
代码:
import win32api
import win32con
import ctypes
import time
mvka = ctypes.windll.user32.MapVirtualKeyA
win32api.keybd_event(0xd, mvka(0xd, 0), 0, 0)
#按下回车键,回车键的虚拟码是0xd,mvka(0xd, 0)可以得到回车键的扫描码,在游戏中 必须同时使用虚拟码和扫描码
time.sleep(0.2)
win32api.keybd_event(0xd, mvka(0xd, 0 ), win32con.KEYEVENTF_KEYUP, 0)
#松开回车键
自己把 0xd
改成需要模拟按键的扫描码
这就是一次程序执行按下回车键1秒后松开的过程,是不是很简单,如果在经过一些处理,这种方法可以制作出许许多多有趣的辅助程序。
下面是一些按键的虚拟码
0x1 鼠标左键
0x2 鼠标右键
0x3 CANCEL 键
0x4 鼠标中键
0x8 BACKSPACE 键
0x9 TAB 键
0xC CLEAR 键
0xD ENTER 键
0x10 SHIFT 键
0x11 CTRL 键
0x13 PAUSE 键
0x12 MENU 键
0x14 CAPS LOCK 键
0x1B ESC 键
0x20 SPACEBAR 键
0x21 PAGE UP 键
0x22 PAGE DOWN 键
0x23 END 键
0x24 HOME 键
0x25 LEFT ARROW 键
0x26 UP ARROW 键
0x27 RIGHT ARROW 键
0x28 DOWN ARROW 键
0x29 SELECT 键
0x2A PRINT SCREEN 键
0x2C SNAPSHOT 键
0x2D INSERT 键
0x2E DELETE 键
0x2F HELP 键
0x90 NUM LOCK 键
65 A 键
66 B 键
67 C 键
68 D 键
69 E 键
70 F 键
71 G 键
72 H 键
73 I 键
74 J 键
75 K 键
76 L 键
77 M 键
78 N 键
79 O 键
80 P 键
81 Q 键
82 R 键
83 S 键
84 T 键
85 U 键
86 V 键
87 W 键
88 X 键
89 Y 键
90 Z 键
48 0 键
49 1 键
50 2 键
51 3 键
52 4 键
53 5 键
54 6 键
55 7 键
56 8 键
57 9 键
数字键盘区
0x60 0 键
0x61 1 键
0x62 2 键
0x63 3 键
0x64 4 键
0x65 5 键
0x66 6 键
0x67 7 键
0x68 8 键
0x69 9 键
0x6A MULTIPLICATION SIGN (*) 键
0x6B PLUS SIGN (+) 键
0x6C ENTER 键
0x6D MINUS SIGN (-) 键
0x6E DECIMAL POINT (.) 键
0x6F DIVISION SIGN (/) 键
功能键区
0x70 F1 键
0x71 F2 键
0x72 F3 键
0x73 F4 键
0x74 F5 键
0x75 F6 键
0x76 F7 键
0x77 F8 键
0x78 F9 键
0x79 F10 键
0x7A F11 键
0x7B F12 键