当前位置:首页 » 编程语言 » 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]。