引言:非计算专业的电子类专业学生,代码质量非常垃圾和低级,就是谭浩强那些东西,有些可能是以前复制粘贴的代码,只用于自娱自乐,请勿借鉴。
1.写好源码
#include#include int main(){ char ch; FILE *fp, *fp1, *fp2; fp = fopen("mtn.TXT", "r"); fp1 = fopen("new_mtn.TXT","w"); fp2 = fopen("integrate","w"); if(fp == NULL){ printf("打开文件失败"); } while(EOF != (ch = fgetc(fp))){ if(ch == 'n'){ continue; } if(ch == ' '){ printf("Sleep (DELAY_TIME );n"); fprintf(fp1,"Sleep (DELAY_TIME );n"); continue; } else{ printf("keybd_event ('%c' , 0, 0, 0);nSleep (DELAY_TIME );nkeybd_event ('%c', 0, KEYEVENTF_KEYUP, 0);nSleep (DELAY_TIME );",ch,ch); printf("nn");} fprintf(fp1,"keybd_event ('%c' , 0, 0, 0);nSleep (DELAY_TIME );nkeybd_event ('%c', 0, KEYEVENTF_KEYUP, 0);nSleep (DELAY_TIME );",ch,ch); fprintf(fp1,"nn"); } printf("n"); fclose(fp); fclose(fp1); fclose(fp2); return 0; }
2.创建文本文件mtn.TXT和new_mtn.TXT
3.将用字母表示的乐谱输入到mtn.TXT中,并编译运行在
4.提取new_mtn.TXT中的编码
5.将mtn.TXT中的编码插入到以下代码中
#include#include #define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0) #define KEYUP(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1) #define DELAY_TIME 50 void info(const char str[]) { printf("bbbbbbbbbbbbbbbbbbbbbbbbbbbb"); printf("bbbbbbbbbbbbbbbbbbbbbbbbbbbb"); printf("%s ",str); } int main(void){ printf("======Jason制作=====n"); printf("模拟键盘"); printf("按Esc键停止按键模拟!n"); printf("按F12键开始按键模拟!n"); printf("====================n"); info("5秒后自动开启按键模拟!"); Sleep (5000); info("启动按键模拟"); while(1) { if(KEYDOWN(VK_ESCAPE)) { // 按Esc键停止按键模拟 info("已停止按键模拟!"); while (!KEYDOWN(VK_F12)) Sleep(10); // 按F12键结束循环休眠 info("已启动按键模拟!"); } else { } } return 0; }
5.运行 Mountain 并运行 以上代码(延迟记得自己调高点)
PS: 1.#define DELAY_TIME可以控制延迟时长,这里的单位是毫秒。
2.分成俩步的原因是区别俩个不同的功能,按键模拟可以用在很多不同的场合,不只是在游戏 Mountain中
写于2021年,10月7日 0点41分,作者阿尔卑斯。
我把俩段代码集成在一起了
#include#include #define DELAY_TIME 150 //用于调节每个音符的间隔时长 #define TIME_DELAY_NUM 1 //用于单独调节每个音节的间隔时长的延长倍数 int main(){ char ch; FILE *fp1, *fp2; fp1 = fopen("mtn.TXT", "r"); fp2 = fopen("new_mtn.TXT","w"); printf("10秒后将开始程序:"); Sleep(1000); while(1){ ch = fgetc(fp1); if( feof(fp1) ){ rewind(fp1); ch = fgetc(fp1); } if(ch == 'n'){ continue; } else{ if(ch ==' '){ printf("Sleep(DELAY_TIME * TIME_DELAY_NUM );n"); fprintf(fp2,"Sleep(DELAY_TIME * TIME_DELAY_NUM );n"); Sleep(DELAY_TIME * TIME_DELAY_NUM); continue; } else{ printf("keybd_event ('%c' , 0, 0, 0);nSleep (DELAY_TIME);nkeybd_event ('%c', 0, KEYEVENTF_KEYUP, 0);nSleep (DELAY_TIME);nn",ch,ch); fprintf(fp2,"keybd_event ('%c' , 0, 0, 0);nSleep (DELAY_TIME);nkeybd_event ('%c', 0, KEYEVENTF_KEYUP, 0);nSleep (DELAY_TIME);nn",ch,ch); if(ch == 'Q' || ch == 'q' ){ keybd_event ('Q' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('Q', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'W' || ch == 'w' ){ keybd_event ('W' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('W', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'E' || ch == 'e' ){ keybd_event ('E' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('E', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'R' || ch == 'r' ){ keybd_event ('R' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('R', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'T' || ch == 't' ){ keybd_event ('T' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('T', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'Y' || ch == 'y' ){ keybd_event ('Y' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('Y', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'U' || ch == 'u' ){ keybd_event ('U' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('U', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'I' || ch == 'i' ){ keybd_event ('I' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('I', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'A' || ch == 'a' ){ keybd_event ('A' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('A', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'S' || ch == 's' ){ keybd_event ('S' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('S', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'D' || ch == 'd' ){ keybd_event ('D' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('D', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'F' || ch == 'f' ){ keybd_event ('F' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('F', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'G' || ch == 'g' ){ keybd_event ('G' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('G', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'H' || ch == 'h' ){ keybd_event ('H' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('H', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'J' || ch == 'j' ){ keybd_event ('J' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('J', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'K' || ch == 'k' ){ keybd_event ('K' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('K', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'Z' || ch == 'z' ){ keybd_event ('Z' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('Z', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'X' || ch == 'x' ){ keybd_event ('X' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('X', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'C' || ch == 'c' ){ keybd_event ('C' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('C', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'V' || ch == 'v' ){ keybd_event ('V' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('V', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'B' || ch == 'b' ){ keybd_event ('B' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('B', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'N' || ch == 'n' ){ keybd_event ('N' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('N', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == 'M' || ch == 'm' ){ keybd_event ('M' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('M', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} if(ch == '<' || ch == ',' ){ keybd_event ('<' , 0, 0, 0); Sleep (DELAY_TIME); keybd_event ('<', 0, KEYEVENTF_KEYUP, 0); Sleep (DELAY_TIME);} } } } fclose(fp1); fclose(fp2); return 0; }
质量依旧垃圾 ||待更新



