當前位置:首頁 » 編程語言 » c語言模擬鍵盤輸入
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言模擬鍵盤輸入

發布時間: 2022-05-25 15:09:49

c語言 怎樣模擬滑鼠鍵盤操作

函數原型:
VOID keybd_event( BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo );
4個參數都是輸入參數。
bVk:鍵名,例如: VK_NUMPAD7,VK_BACK, VK_TAB,VK_SHIFT,VK_F1,。。。
keybd_event(VK_MENU,0xb8,0 , 0); -- 按下Alt 鍵
keybd_event(VK_MENU,0xb8,KEYEVENTF_KEYUP,0); -- 放開 Alt 鍵 (復位,彈上來)
===
下面程序模擬按 notepad 編輯器。等於C語言 system("notepad"); 彈出 記事本。
void simu_notepad()
{
keybd_event(VkKeyScan('N'),1,0,0);
keybd_event(VkKeyScan('N'),1,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('O'),0x98,0,0); keybd_event(VkKeyScan('O'),0x98,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('T'),0x94,0,0); keybd_event(VkKeyScan('T'),0x94,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('E'),0x92,0,0); keybd_event(VkKeyScan('E'),0x92,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('P'),0x99,0,0); keybd_event(VkKeyScan('P'),0x99,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('A'),0x9E,0,0); keybd_event(VkKeyScan('A'),0x9E,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('D'),0xA0,0,0); keybd_event(VkKeyScan('D'),0xA0,KEYEVENTF_KEYUP,0);
keybd_event(VK_RETURN,1,0,0);
keybd_event(VK_RETURN,1,KEYEVENTF_KEYUP,0);
}

② c語言模擬鍵盤操作

發送Windows消息,鍵盤消息就可以。
用Sendlhput API函數也可以完成。

③ c語言問題!!關於模擬鍵盤的輸入 我用c語言打開了個程序,需要往裡面依次輸入寫數,怎麼才能用語句

可以用文件操作啊,也可以用重載類的freopen

#include<stdio.h>
chara[10000];
intmain()
{
freopen("out.txt","w",stdout);
scanf("%d",a);
return0;
}

④ 我想知道用C語言怎麼寫一個控制鍵盤輸入的程序,比如讓鍵盤自動執行ctrl或shift功能等.請哪位高手幫幫忙

可以用普通的C語言來寫。調用User32.lib
的函數:
void keybd_event(BYTE bVirturalKey,BYTE bScanCode,
DWORD dwFlags,DWORD dwExtraInfo)
ctrl 鍵是 VK_CONTROL bScanCode = 0x9d
shift鍵是 VK_SHIFT 0xaa
撳鍵是 0,0
鍵彈上來是:KEYEVENTF_KEYUP,0

例如simu_keyboard.c程序,模擬 Alt-PrintScreen,把屏幕圖像放入剪切板。

頭文件:
#include <Windows.h>
#include <Winuser.h>
#include <stdio.h>
#include <stdlib.h>

/* ----------------------------------
simulation of Alt-PrintScreen
to get current Window image in clipboard
* -----------------------------------*/
void snapwin_2_clipboard()
{
keybd_event(VK_LMENU,0xA4,0,0); // 撳 Alt
keybd_event(VK_SNAPSHOT,0x2C,0,0); // 撳 PrintScreen
keybd_event(VK_SNAPSHOT,0x2C,KEYEVENTF_KEYUP,0); // 鍵彈上
keybd_event(VK_LMENU,0xA4,KEYEVENTF_KEYUP,0); // 鍵彈上
}

void main()
{
(void) snapwin_2_clipboard();
exit(0);
}

編譯命令: cl simu_keyboard.c user32.lib
運行:simu_keyboard.exe
用任何圖像編輯軟體中的Edit-paste 可貼剪切板里的內容了。

⑤ c語言模擬鍵盤隨機輸入或連續輸入不同的數字。。

用循環語句,如for語句,用一個自增變數i做計數器,語句裡面嵌入scanf語句,設定i〈=10,就可以循環10次,輸入10個數

⑥ 請問怎樣實現c語言的模擬按鍵

調win32api函數SendMessage實現模擬按鍵
#include <windows.h>
...
SendMessage(hWnd,WM_KEYDOWN,鍵值,0);
...
其中hWnd是目標窗口的句柄

值是被宏定義過的,VK_ENTER回車,VK_ESC是ESC,VK_A是A鍵等

目標窗口句柄可以通過HWND hwnd=FindWindow("窗口名");獲得

⑦ 利用C語言能實現按鍵精靈的模擬按鍵功能嗎

調win32api函數SendMessage實現模擬按鍵

#include <windows.h>

...

SendMessage(hWnd,WM_KEYDOWN,鍵值,0);

...

其中hWnd是目標窗口的句柄

值是被宏定義過的,VK_ENTER回車,VK_ESC是ESC,VK_A是A鍵等

目標窗口句柄可以通過HWND hwnd=FindWindow("窗口名");獲得

⑧ 怎麼用c語言模擬鍵盤輸入你好 要用輸入法的

把輸入的字母都存入一個數組中,每次輸入空格按鍵之後進行識別判斷,看看數組中是不是出現了連續的nihao字母,如果出現了此時輸出漢字「你好」。

⑨ 怎麼用C語言寫出一個讓程序自動按鍵的,只要按兩個鍵就夠了

c語言完成這個有點難,用按鍵精靈吧,實現這個很簡單的。
退出程序的話,用編程來說,你可以先選定你程序的窗口句柄,然後直接關掉這個窗口,你要是想純模擬鍵盤操作的話,你還得考慮當前焦點在不在你的程序窗口上。

⑩ C語言如何模擬鍵盤輸入

C語言模擬鍵盤代碼如下:

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR szCmdLine,int iCmdShow)

{

MSG msg;

if(!MyRegisterClass(hInstance))

{

return FALSE;

}

if(!InitInstance(hInstance,iCmdShow))

{

return FALSE;

}

while (GetMessage (&msg, NULL, 0, 0))

{

TranslateMessage (&msg);

DispatchMessage (&msg);

}

return msg.wParam;

}

//函數:ShowKey

//作用:實現在窗口中顯示按鍵信息

void ShowKey (HWND hwnd, int iType,char *szMessage,WPARAM wParam,LPARAM lParam)

{

static char *szFormat[2] ={"%-14s %3d %c %6u %4d %5s %5s %6s %6s",

"%-14s %3d %c %6u %4d %5s %5s %6s %6s" };

char szBuffer[80];

HDC hdc;

ScrollWindowEx(hwnd, 0, -yChar, &rc,&rc,NULL,NULL,SW_INVALIDATE);

hdc = GetDC (hwnd);

SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT));

TextOut (hdc,

xChar,

rc.bottom - yChar,

szBuffer,

wsprintf szBuffer,

szFormat[iType]。