加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

C语言达成模拟键盘按键事件

发布时间:2021-11-22 10:45:53 所属栏目:PHP教程 来源:互联网
导读: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 d
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。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读