ページ 11

特定のキーを押すと連打するとゆう動作をしたいのですが

Posted: 2015年8月13日(木) 11:39
by あおい
#include <windows.h>
#include <stdio.h>
using namespace std;

#define slp 100
//Sleepの長さ、値が小さいほど高速連打


//キーボードを押して離す関数
void Type(unsigned char code){
keybd_event(code,0x00,KEYEVENTF_EXTENDEDKEY|0,0);
keybd_event(code,0x00,KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP,0);
}


int main(){
printf("↑で連打開始\n");
printf("↓で連打停止\n");
printf("Escで終了\n");

int flag = 0;
printf("OFF\n");

while( true ){
if( GetAsyncKeyState (VK_ESCAPE) ){
//Escキーで終了
break;
}
if( GetAsyncKeyState (VK_UP) && flag == 0 ){
//上キーでflagがon
flag=1;
printf("ON\n");
}
if( GetAsyncKeyState (VK_DOWN) && flag == 1){
//下キーでflagがoff
flag=0;
printf("OFF\n");
}
if( flag == 1 ){
//flagがonならOキーを押して、離して、slpだけ待ちます
Type('O');
Sleep( slp );
}
}


return 0;
}
これをしても ↑ ↓ on off いちいちめんどうです
特定のキーを押して離したらOffにしたいです
教えてください