永发信息网

如何用键盘钩子给主程序传递变量

答案:3  悬赏:80  手机版
解决时间 2021-01-08 21:06
如何用键盘钩子给主程序传递变量
最佳答案
你这个不就可以了?先自定义消息
然后给主窗口发送自定义消息
然后主窗口得到这个自定义消息就处理呗
全部回答
你好,希望我的回答对你有帮助!
1.你现在用的是一般键盘钩子。按你的要求,你需要用低级键盘钩子
2.我写了个示例工程(VC6下编译通过)。下载地址:
3.如果你用的是VC6,要用到低级鼠标钩子,需要在stdafx.h里添加#define _WIN32_WINNT 0x0500 //用低级鼠标钩子需要添加这一句
具体看示例工程里的代码
4.以下是部分代码,仅供参考。
(1) 定义变量
HWND g_hWnd=NULL;
HHOOK g_hKeyboard=NULL;
(2)//键盘钩子
LRESULT CALLBACK KeyboardProc(int code,WPARAM wParam, LPARAM lParam)
{
if(code <0)
return CallNextHookEx(g_hKeyboard,code,wParam,lParam);
if(::GetForegroundWindow()==g_hWnd) //判断当前接收按键消息的是此对话框程序
{
if (wParam==WM_KEYDOWN)
{
int t=((KBDLLHOOKSTRUCT *) lParam )->vkCode;
trace(t);
//在这里添加你的按键发出音乐的代码
return 1;
}
else if (wParam==WM_KEYUP)
{
return 1;
}
}
return CallNextHookEx(g_hKeyboard,code,wParam,lParam);

}
(3)初始化
g_hWnd=m_hWnd;
g_hKeyboard=SetWindowsHookEx(WH_KEYBOARD_LL,KeyboardProc,GetModuleHandle(NULL),0);
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请人铺瓷砖的价格是多少,自己会铺吗?
谁咬了我的大饼教案
单选题下列对化学反应的认识,不正确的是A.化
万科管理人员工作服
21岁奋斗还来得及吗
四川省屏山县质监局非法扣压武汉华旭公司智能
excel如何让两列减法
想用爸妈的姓后面加个字取名,涂和张怎么取啊
耳脉的mai怎么写
4x^2+15x+9因式分解
这份合同对乙方有什么意义。现在甲方没有经过
会计题中第三题,计提职工福利费,具体分配金
0.2+0.4+0.6+0.8+0.10+0.12+0.14+…+0.98=
Warning: mysql_query(): supplied argument
的诗句写出低碳生活的对联上联少一些铺张浪费
推荐资讯
问道中惊妖铃有什么作用
想知道: 杭州市311路公交车几分钟一班在哪?
led灯的亮度和流明是什么意思?
求:汪国真《感谢》的赏析或感受。急。。
洛奇木工怎么练需要花钱多吗
如何杀灭自制复合肥的蛆虫
在word 2003里,如何输入循环节?
某银行储蓄所办理了七笔现金业务:取出9万元,
女生经常跟男生说她去洗澡了。。
太阳睁开笑眯眯的眼睛,和人们打招呼(仿写拟人
银行里的资金汇划什么意思
打开adobe reader怎样设置,让其显示上次pdf
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?