歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C語言實現模擬鍵盤按鍵事件

C語言實現模擬鍵盤按鍵事件

日期:2017/3/1 10:06:24   编辑:Linux編程

C語言實現模擬鍵盤按鍵事件:

#include <stdio.h>
#include <windows.h>
#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
#define KEYUP(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)

int main(void)
{
POINT pt;
int i;
int delaytime;
int keynum;
printf("input the delay time(ms):");

scanf("%d",&delaytime);



while(1)
{


switch (KEYDOWN(VK_ESCAPE))

{
case 1:
{


while (!KEYDOWN(VK_RETURN ))
{
Sleep(10);
}
break;

}
case 0:
{
//VK_NUMLOCK
//VK_SPACE
keybd_event(VK_NUMLOCK , 0, 0, 0);
Sleep(delaytime/2);
keybd_event(VK_NUMLOCK, 0, KEYEVENTF_KEYUP, 0);
Sleep(delaytime/2);
break;

}

}
}


return 0;
}

主要是用到了keybd_event(VK_NUMLOCK , 0, 0, 0);這個函數。關於函數的解釋請到百度了自己搜。

利用switch和while巧妙實現了按ESC鍵暫停,按Enter鍵繼續。

剛打開軟件時需要輸入按鍵事件之間的時間延遲,單位是ms。

Copyright © Linux教程網 All Rights Reserved