windows编程如何指定对某一个程序模拟键盘输入?

比如我希望在后台运行一个程序,可以定期对前台一个程序模拟键盘输入.有什么系统函数可以调用么?另外,键盘上的按键能否进行重定义?比如power键,总是误按,希望将其重定向到... 比如我希望在后台运行一个程序, 可以定期对前台一个程序模拟键盘输入. 有什么系统函数可以调用么?
另外, 键盘上的按键能否进行重定义? 比如power键, 总是误按, 希望将其重定向到一个无关紧要的键值. 能否实现?
展开
 我来答
听到浪涛
2008-05-27 · TA获得超过141个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:224万
展开全部
可以用普通的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 可贴剪切板里的内容了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式