猜盐好帮手

在猜盐中,有一些猜字的挑战,我们可以通过枚举汉字通过……

我们需要控制键盘的函数:

WINUSERAPI VOID WINAPI keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,ULONG_PTR dwExtraInfo);

一共有 4 个参数,其中第 1 个参数传入虚拟键值(控制键盘按键),第 3 个参数传入 按下/松开,因此我们可以模拟一个按键按下的过程:

void Press_(int x){
	keybd_event(x,0,0,0);
	keybd_event(x,0,KEYEVENTF_KEYUP,0);
}

下面是虚拟键值表,用于填写第一个参数:

虚拟控制键 16 进制表示 十进制表示 对应键盘位置说明
VK_LBUTTON 0x01 1 鼠标左键
VK_RBUTTON 0x02 2 鼠标右键
VK_CANCEL 0x03 3 中断键(Ctrl+Break)
VK_MBUTTON 0x04 4 鼠标中键(滚轮按键)
VK_XBUTTON1 0x05 5 鼠标侧键1(前进键)
VK_XBUTTON2 0x06 6 鼠标侧键2(后退键)
VK_BACK 0x08 8 Backspace 退格键
VK_TAB 0x09 9 Tab 制表键
VK_CLEAR 0x0C 12 数字小键盘 Clear 清除键
VK_RETURN 0x0D 13 Enter 回车键
VK_SHIFT 0x10 16 Shift 通用移位键(左右Shift)
VK_CONTROL 0x11 17 Ctrl 通用控制键(左右Ctrl)
VK_MENU 0x12 18 Alt 通用菜单键(左右Alt)
VK_PAUSE 0x13 19 Pause 暂停键
VK_CAPITAL 0x14 20 Caps Lock 大写锁定键
VK_ESCAPE 0x1B 27 Esc 退出键
VK_MODECHANGE 0x1F 31 输入法模式变更键
VK_SPACE 0x20 32 空格键 Space
VK_PRIOR 0x21 33 PageUp 上翻页键
VK_NEXT 0x22 34 PageDown 下翻页键
VK_END 0x23 35 End 末尾键
VK_HOME 0x24 36 Home 起始键
VK_LEFT 0x25 37 ← 左方向键
VK_UP 0x26 38 ↑ 上方向键
VK_RIGHT 0x27 39 → 右方向键
VK_DOWN 0x28 40 ↓ 下方向键
VK_SELECT 0x29 41 Select 选择键
VK_PRINT 0x2A 42 Print 打印键
VK_EXECUTE 0x2B 43 Execute 执行键
VK_SNAPSHOT 0x2C 44 PrintScreen 屏幕截图键
VK_INSERT 0x2D 45 Insert 插入键
VK_DELETE 0x2E 46 Delete 删除键
VK_HELP 0x2F 47 Help 帮助键
VK_LWIN 0x5B 91 左侧 Windows 徽标键
VK_RWIN 0x5C 92 右侧 Windows 徽标键
VK_APPS 0x5D 93 右键菜单键(应用程序键)
VK_SLEEP 0x5F 95 系统睡眠键
VK_NUMPAD0 0x60 96 数字小键盘 0 键
VK_NUMPAD1 0x61 97 数字小键盘 1 键
VK_NUMPAD2 0x62 98 数字小键盘 2 键
VK_NUMPAD3 0x63 99 数字小键盘 3 键
VK_NUMPAD4 0x64 100 数字小键盘 4 键
VK_NUMPAD5 0x65 101 数字小键盘 5 键
VK_NUMPAD6 0x66 102 数字小键盘 6 键
VK_NUMPAD7 0x67 103 数字小键盘 7 键
VK_NUMPAD8 0x68 104 数字小键盘 8 键
VK_NUMPAD9 0x69 105 数字小键盘 9 键
VK_MULTIPLY 0x6A 106 数字小键盘 * 乘号键
VK_ADD 0x6B 107 数字小键盘 + 加号键
VK_SEPARATOR 0x6C 108 数字小键盘 分隔键
VK_SUBTRACT 0x6D 109 数字小键盘 - 减号键
VK_DECIMAL 0x6E 110 数字小键盘 . 小数点键
VK_DIVIDE 0x6F 111 数字小键盘 / 除号键
VK_F1 0x70 112 F1 功能键
VK_F2 0x71 113 F2 功能键
VK_F3 0x72 114 F3 功能键
VK_F4 0x73 115 F4 功能键
VK_F5 0x74 116 F5 功能键
VK_F6 0x75 117 F6 功能键
VK_F7 0x76 118 F7 功能键
VK_F8 0x77 119 F8 功能键
VK_F9 0x78 120 F9 功能键
VK_F10 0x79 121 F10 功能键
VK_F11 0x7A 122 F11 功能键
VK_F12 0x7B 123 F12 功能键
VK_NUMLOCK 0x90 144 NumLock 数字锁定键
VK_SCROLL 0x91 145 Scroll Lock 滚动锁定键
VK_OEM_NEC_EQUAL 0x92 146 NEC 键盘等号专用键
VK_LSHIFT 0xA0 160 左侧 Shift 键
VK_RSHIFT 0xA1 161 右侧 Shift 键
VK_LCONTROL 0xA2 162 左侧 Ctrl 键
VK_RCONTROL 0xA3 163 右侧 Ctrl 键
VK_LMENU 0xA4 164 左侧 Alt 键
VK_RMENU 0xA5 165 右侧 Alt 键
#include<windows.h>
#include<iostream>
#include<string.h>
using namespace std; 
int cnt=0;
void Press_(int x){
	keybd_event(x,0,0,0);
	keybd_event(x,0,KEYEVENTF_KEYUP,0);
}
void Put_(char ch){
	if(ch=='\n')Press_(VK_RETURN);
	else if(ch==' ')Press_(VK_SPACE);
	else Press_(ch);
	Sleep(3);
}
void put(string s,int t){
	for(char u:s)Put_(u);
	while(t--)Put_(VK_DOWN);
	Put_(VK_SPACE);
	cnt++;
	if(cnt==10)Put_(VK_RETURN),cnt=0;
}
void put(string s){
	for(int i=0;i<15;i++)put(s,i);
}

string ss[371]={"A","AI","AO","AN","ANG","O","OU","E","EI","ER","EN","ENG","BA","BO","BI","BU","BAI","BEI","BAO","BIE","BAN","BEN","BIN","BANG","BENG","BING","PA","PO","PI","PU","PAI","PEI","PAO","POU","PIE","PAN","PEN","PIN","PANG","PENG","PING","MA","MO","MI","MU","MAI","MEI","MAO","MOU","MIE","MAN","MEN","MIN","MANG","MENG","MING","FA","FO","FU","FEI","FOU","FAN","FEN","FANG","FENG","DA","DE","DI","DU","DAI","DEI","DUI","DAO","DOU","DIU","DIE","DUO","DAN","DENG","DING","DONG","DUAN","DUN","TA","TE","TI","TU","TAI","TUI","TAO","TOU","TIE","TUO","TAN","TANG","TENG","TING","TONG","TUAN","TUN","NA","NE","NI","NU","NV","NAI","NEI","NUO","NIAO","NIU","NIE","NUAN","NAN","NEN","NONG","NIAN","NIN","NIANG","NING","LA","LE","LI","LU","LV","LAI","LEI","LUO","LIAO","LIU","LIE","LUAN","LAN","LEN","LANG","LING","LONG","LIAN","LIN","LIANG","GA","GE","GU","GAI","GUI","GAO","GOU","GUA","GUO","GAN","GEN","GANG","GENG","GUANG","GUN","GUAN","KA","KE","KU","KAI","KUI","KAO","KOU","KUA","KUO","KAN","KEN","KANG","KENG","KUANG","KUN","KUAN","HA","HE","HU","HAI","HUI","HAO","HOU","HUA","HUO","HAN","HEN","HANG","HENG","HUANG","HUN","HUAN","JI","JU","JIA","JIE","JIU","JIAO","JIAN","JIN","JIANG","JING","JIONG","JUAN","QI","QU","QIA","QIE","QIU","QIAO","QIAN","QIN","QIANG","QING","QIONG","QUAN","XI","XU","XIA","XIE","XIU","XIAO","XIAN","XIN","XIANG","XING","XIONG","XUAN","ZHA","ZHE","ZHI","ZHU","ZHAI","ZHUI","ZHAO","ZHOU","ZHUA","ZHUO","ZHAN","ZHEN","ZHANG","ZHENG","ZHUANG","ZHUN","ZHUAN","CHA","CHE","CHI","CHU","CHAI","CHUI","CHAO","CHOU","CHUA","CHUO","CHAN","CHEN","CHANG","CHENG","CHUANG","CHUN","CHUAN","SHA","SHE","SHI","SHU","SHAI","SHUI","SHAO","SHOU","SHUA","SHUO","SHAN","SHEN","SHANG","SHENG","SHUANG","SHUN","SHUAN","RE","RI","RU","RUI","RAO","ROU","RUO","RAN","REN","RANG","RENG","RUN","RUAN","ZA","ZE","ZI","ZU","ZAI","ZUI","ZAO","ZOU","ZUO","ZAN","ZEN","ZANG","ZENG","ZUN","ZUAN","CA","CE","CI","CU","CAI","CUI","CAO","COU","CUO","CAN","CEN","CANG","CENG","CUN","CUAN","SA","SE","SI","SU","SAI","SUI","SAO","SOU","SUO","SAN","SEN","SANG","SENG","SUN","SUAN","YA","YE","YI","YU","YAO","YOU","YAN","YIN","YANG","YING","YONG","YUAN","YUE","YUN","WA","WO","WU","WAI","WEI","WAN","WEN","WANG","WENG","ZHI","CHI","SHI","RI","ZI","CI","SI","YI","WU","YU","YE","YUE","YUAN","YIN","YUN","YING"};

signed main(){
	Sleep(5000);
	for(int i=0;i<371;i++)put(ss[i]);
	return 0;
}
posted @ 2026-07-09 18:07  zhoumengxuan  阅读(16)  评论(0)    收藏  举报