1.需求分析
一用户要求实现输入某个按键时,能接连触发多个其他按键,类似按键精灵那种,这里对用户的用途保密。这里牵涉到两个问题,1.检测键盘输入 2.模拟键盘输入
2.解决方案
采用键盘钩子和模拟键盘按键解决
3.代码部分
LPDWORD g_lpdwVirtualKey = NULL; // Keycode 数组的指针
int g_nLength = 0; // Keycode 数组的大小
BOOL g_bDisableKeyboard = FALSE; // 是否屏蔽整个键盘
HINSTANCE g_hInstance = NULL; // 模块实例句柄
HHOOK g_hHook = NULL; // 钩子句柄
HWND g_hMainHwnd = NULL; //这个是传过来的窗口句柄
UINT g_nCallbackMsg = 0; //回调的消息
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode == HC_ACTION)
{
K