我试图限制我的程序用户访问键盘。要做到这一点我已经定义了一个低的水平键盘钩子:低级别键盘挂钩:区分键码
LRESULT CALLBACK lowLevelKeyboardProc(int key, WPARAM wParam, LPARAM lParam)
{
KBDLLHOOKSTRUCT* pkbhs = (KBDLLHOOKSTRUCT*)lParam;
switch (key)
{
case HC_ACTION:
....
,并迷上它:
m_hHook = SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)lowLevelKeyboardProc, 0, 0);
我需要的用户能够只使用字母数字字符,〜,@,# ...只有可以在密码中的字符(可打印的字符)。 使用低级键盘挂钩参数区分这些字符和所有其他字符的最简单方法是什么?int key,WPARAM wParam,LPARAM lParam?
该程序是用C++编写的,并在VC2010中编译。
所有帮助表示赞赏!
不要对局部问题使用全局解决方案。只需过滤WM_CHAR消息。 –