如何在不使用键盘的情况下按下键盘上的按键?
问题描述:
我希望我的程序按下键盘上的某些按键,而无需进行物理上的操作。如何在不使用键盘的情况下按下键盘上的按键?
我该怎么做?
编辑:找到了这个keybd_event()函数。似乎工作 http://www.codeproject.com/KB/cpp/sendkeys_cpp_Article.aspx
答
答
有SendInput功能,可以生成击键和其他类型的输入。我曾经创建类似于虚拟键盘的应用程序。
示例使用Unicode:
// This may be needed
// #define _WIN32_WINNT 0x0501
#include <windows.h>
#include <winuser.h>
void pressKey(WORD a_unicode)
{
KEYBDINPUT kbinput;
ZeroMemory(&kbinput, sizeof(kbinput));
kbinput.wScan = a_unicode;
kbinput.dwFlags = KEYEVENTF_UNICODE;
kbinput.time = 0;
INPUT input;
ZeroMemory(&input, sizeof(input));
input.type = INPUT_KEYBOARD;
input.ki = kbinput;
SendInput(1, &input, sizeof(input));
}
没有找到C++代码出现,但给了我很好的关键字为谷歌 – Newbie 2010-04-17 20:38:32