这是一种制作模拟按键程序的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 键