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