歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

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