C语言如何模拟键盘输入?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-30
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);
}

我也不会,如果你们会,发个到1625485211@qq.com,谢谢

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]。



  • C语言如何模拟键盘输入?
    答://函数: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[8...
  • c语言 怎样模拟鼠标键盘操作?
    答: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")...
  • c语言问题!!关于模拟键盘的输入 我用c语言打开了个程序,需要往里面依 ...
    答:可以用文件操作啊,也可以用重载类的freopen include<stdio.h>char a[10000];int main(){ freopen("out.txt","w",stdout); scanf("%d",a); return 0;}
  • C语言 怎么设置键盘输入然后关闭程序
    答:你的意思应该是程序是一个循环程序,当输入某个字符时就跳出循环,结束程序,那只要#include<stdio.h>int main(){ char a; while(1) { scanf("%c",&a); if(a=='$') { break; } }} 我有坑爹证 | 发布于2013-04-08 举报| 评论 0 3 为您推荐: 记录键盘输入的软件 数控机床如何输入程序 数...
  • 请问调用那个API函数可以实现模拟键盘操作,比如实现Ctrl+s,最好提供...
    答:::SetForegroundWindow(N);//先将窗口设置为顶级窗口,以便接收到按键响应 keybd_event(VK_LCONTROL,0,0,0);//按下左ctrl键 keybd_event('S',0,0,0);//再按下s键 keybd_event('S',0,KEYEVENTF_KEYUP,0);//先放开s键 keybd_event(VK_LCONTROL,0,KEYEVENTF_KEYUP,0);//再放开ctrl键 ...
  • c语言键盘事件keybd_event
    答:0); // Tab 释放keybd_event(VK_MENU, 0xb8, KEYEVENTF_KEYUP, 0); // Alt 释放return 0;}keybd_event函数模拟了键盘输入。调用该函数会让系统触发WM_KEYUP或者WM_KEYDOWN事件。函数原型是:VOID WINAPI keybd_event( _In_ BYTE bVk, _In_ BYTE bScan, _In_...
  • ...c语言(vc6.0)如何实现向一个窗口 后台模拟按键 和 鼠标按键._百度知...
    答:模拟键盘点击void Press(UINT key){keybd_event(key,MapVirtualKey(key, 0),0,0);keybd_event(key,MapVirtualKey(key, 0),KEYEVENTF_KEYUP,0); }模拟 鼠标左键单击mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);...
  • windows编程如何指定对某一个程序模拟键盘输入?
    答:可以用普通的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-Print...
  • (C语言) 如何输出一串可编辑的文字?高手帮帮忙~谢谢~
    答:这个函数模拟键盘输入Hello World!字串 / void keyboard(char key){ / 0040:001AH - 0040:001BH 存放键盘缓冲区首指针 0040:001CH - 0040:001DH 存放键盘缓冲区尾指针 0040:001EH - 0040:003EH 键盘缓冲区,存放击键字符 / int offset=peek(0x40,0x1c);int i = 0;while (key[i]!= '...
  • 用C语言编写一个键盘连按程序
    答:提供个参考吧TurboC2.0编辑器内按CTRL+F1可以查询C的所有函数、所属库及参数说明等getch()getchar()均可接收好象还有一个keywait()再就是调用中断了,不过不记得键盘中断是多少了 如果是回显在屏幕上,用printf()就行了 用for(i=0;i<=n;i++)控制输出个数 n用scanf等方式指定要模拟键盘操作...