- 李嘉轩 的博客
键仙传人(非游戏)4.0
- 2024-3-18 19:21:11 @
这可能是你唯一一个能破的吉尼斯纪录
改每个字符之间的间隔看第94行
UPDATE:
1.0(3月18日):完成初步效果(大小写字母和空格)
2.0(3月18日):增加8个特殊字符
3.0(3月22日):增加数字
4.0(3月23日):修复了一些bug
(码量刚好100行,针不戳)
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
string str[10001], s;
int main(){
int n;
bool h;
cout << "请输入行数:";
cin >> n;
getline(cin, str[0]);
system("cls");
cout << "请输入" << n << "行,每行一个只包含大小写字母、数字、空格和;:.?'\",!这8个字符的字符串:\n";
for(int i = 1; i <= n; i++)getline(cin, str[i]);
system("cls");
cout << "5秒后开始在键盘上输入,请做好准备";
Sleep(5000);
system("cls");
for(int ak = 1; ak <= n; ak++){
s = str[ak];
for(int i = 0; i < s.size(); i++){
if(s[i] == ';'){
keybd_event(VK_OEM_1, 0, 0, 0);
keybd_event(VK_OEM_1, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == ':'){
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_OEM_1, 0, 0, 0);
keybd_event(VK_OEM_1, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '.'){
keybd_event(VK_OEM_PERIOD, 0, 0, 0);
keybd_event(VK_OEM_PERIOD, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '?'){
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_OEM_2, 0, 0, 0);
keybd_event(VK_OEM_2, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '\''){
keybd_event(VK_OEM_7, 0, 0, 0);
keybd_event(VK_OEM_7, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '"'){
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_OEM_7, 0, 0, 0);
keybd_event(VK_OEM_7, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == ','){
keybd_event(VK_OEM_COMMA, 0, 0, 0);
keybd_event(VK_OEM_COMMA, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '!'){
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(49, 0, 0, 0);
keybd_event(49, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '0'){
keybd_event(VK_NUMPAD0, 0, 0, 0);
keybd_event(VK_NUMPAD0, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '1'){
keybd_event(VK_NUMPAD1, 0, 0, 0);
keybd_event(VK_NUMPAD1, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '2'){
keybd_event(VK_NUMPAD2, 0, 0, 0);
keybd_event(VK_NUMPAD2, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '3'){
keybd_event(VK_NUMPAD3, 0, 0, 0);
keybd_event(VK_NUMPAD3, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '4'){
keybd_event(VK_NUMPAD4, 0, 0, 0);
keybd_event(VK_NUMPAD4, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '5'){
keybd_event(VK_NUMPAD5, 0, 0, 0);
keybd_event(VK_NUMPAD5, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '6'){
keybd_event(VK_NUMPAD6, 0, 0, 0);
keybd_event(VK_NUMPAD6, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '7'){
keybd_event(VK_NUMPAD7, 0, 0, 0);
keybd_event(VK_NUMPAD7, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '8'){
keybd_event(VK_NUMPAD8, 0, 0, 0);
keybd_event(VK_NUMPAD8, 0, KEYEVENTF_KEYUP, 0);
}else if(s[i] == '9'){
keybd_event(VK_NUMPAD9, 0, 0, 0);
keybd_event(VK_NUMPAD9, 0, KEYEVENTF_KEYUP, 0);
}else{
if(s[i] >= 'A' && s[i] <= 'Z')h = true;
else{
if(s[i] != ' ')s[i] -= 32;
h = false;
}
if(h)keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(s[i], 0, 0, 0);
keybd_event(s[i], 0, KEYEVENTF_KEYUP, 0);
if(h)keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
}
Sleep(100);
}
keybd_event(VK_RETURN, 0, 0, 0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
}
return 0;
}