在写一键盘测试程序,要求做一个界面,按键盘上的健时,界面要反映按的是什么健,而且按下和松开要以不同颜色区分。
现其他健功能已经实现,就是win健不能实现颜色变化,用底层钩子屏蔽win健,只能让按下win健没反应,如何才能实现按下win健是一种颜色,松开是另一种颜色呢?
不知道问题又没有描述清楚?
现其他健功能已经实现,就是win健不能实现颜色变化,用底层钩子屏蔽win健,只能让按下win健没反应,如何才能实现按下win健是一种颜色,松开是另一种颜色呢?
不知道问题又没有描述清楚?
调试欢乐多
在网上找了一个星期了,还是无法解决:(
GetAsyncKeyState(VK_LMENU)
GetAsyncKeyState(VK_RMENU)
pripor(蹲在墙头等红杏)
能不能在具体点,我对这个不熟悉,当时这样想过,但传的消息收不到~
谁能给个函数的原型? 将message传回句柄,用sendmessage传么?参数不知道怎么设?
传回的消息在我处理其他键的WM_KEYDOWN,WM_KEYUP事件时处理么?
wupangzi(无本之木) 呵呵,我现在就是不知道如何发送自己的事件给界面程序~
我现在做到的就是是win键就返回~只把win键彻底屏蔽掉了
键盘事件 --〉在你的App中显示出来;你可以使用在系统中下一个键盘钩子或者日记记录钩子,
简单处理的话,可以把你所要显示的DialogItem的句柄传入钩子DLL,
获得键盘状态,再使用ToAssic函数转换一下,直接把装换后的字符串发送DialogItem去显示
(WM_SETTEXT);有需要的话,自己定义消息去处理;
End;
并在自定义消息处理函数中处理win键的颜色变化同时将界面的hwnd传递给dll在dll里面判断是否按住了win键,并发送消息给界面
如下:::SendMessage(m_hFaceWnd,WM_WINKEY_PUSH,0,0) //松下
::SendMessage(m_hFaceWnd,WM_WINKEY_PUSH,1,0) //按住
stevecrisewu(月亮骑士)
我先试试,这个方法好像可行,但我就是一直实现不了 :(
amziwei<<at>>sohu.com <<at>> 改@
不知道是不是处理自定义消息不能循环啊?
onmymessage2(WPARAM wParam, LPARAM lParam)
on_message(wm_winekey_up,onmessage1)
on_message(wm_winkey_down,onmessage2)
不会要用多线程吧,那就麻烦了呀。
晕
楼主看一下这个贴
另外哆嗦一句, 楼主见谅在问问题之前, 可以先搜索一下以前的贴子, 很多问题以前别人都问过了
而且最重要的是, 这些问题或许都解决了.
直接翻贴子可以帮你省下很多时间
这个地址可以搜以前的贴子
打开后, 个人建议搜索 "论坛" 子标签
谢谢。
邮件我已经收到了,之前的帖子我也看过,但是还是没有我要实现的功能,只是实现了对WIN健的屏蔽,我要实现的是界面能即时响应WIN KEY的DOWN 或UP状态,屏蔽的话一个状态就可以了。现在虽然用自定义消息可以即时响应,但只能响应一个状态。
TO kugou123(酷狗)(君看一叶舟,出没风波里)
是我贴出的消息映射和自定义函数有问题吗?
{
BOOL fEatkeystroke = NULL;
PKBDLLHOOKSTRUCT p = NULL;
if (nCode == HC_ACTION)
{
switch (wParam)
{
case WM_KEYDOWN:
case WM_SYSKEYDOWN:
fEatkeystroke = (p->vkcode == vk_lwin)
if (fEatkeystroke)
sendmessage(glhTarWnd, wm_winkey_down, 0, 0);
break;
case WM_KEYUP:
case WM_SYSKEYUP:
fEatkeystroke = (p->vkcode == vk_lwin)
if (fEatkeystroke)
sendmessage(glhTarWnd, wm_winkey_UP, 0, 0)
}
}
WM_WINKEY_DOWN WM_WINKEY_UP为自定义消息,在界面中,用onmymessage1(WPARAM wParam, LPARAM lParam)
onmymessage2(WPARAM wParam, LPARAM lParam)
on_message(wm_winekey_up,onmessage1)
on_message(wm_winkey_down,onmessage2)。但是好像只有一个起作用了,不知道能不能这样处理消息。
我改了一下, 重新发了一个邮件给你, 希望可以帮到你
里面实现了 Win 和 Tab 键按下和弹起状态的钩取, 再发送消息到主程序
其它键依样画葫芦即可