在VC++编程中,如何让一个后台服务进程,即时响应键盘输入的按键,然后根据这个按键值去控制其他程序。 5
(visualc++2008)万分感谢,现在已经能将程序设置为后台进程了,问题就是如何唤醒这个进程来响应按键,目前了解到通过热键方式,但需要的是哪怕按下去一个‘A’,服务...
(visual c++2008)万分感谢,现在已经能将程序设置为后台进程了,问题就是如何唤醒这个进程来响应按键,目前了解到通过热键方式,但需要的是哪怕按下去一个‘A’,服务进程也需要能响应?能提供一下思路就行。
展开
3个回答
展开全部
用SetWindowsHookEx下全局键盘钩子
类型用WH_KEYBOARD_LL
记得钩子处理函数要放在DLL里面,不然不能全局
全局钩子对于在各种程序中的按键几乎都能响应
在vista或win7的用户账户控制(UAC)开启的情况下可能需要管理员身份运行才能实现“全局”
ie等一些多进程软件中的子进程可能处在低完整性级别,这种时候钩子我记得是进不去
另外线程必须要有消息处理循环否则你会发现键盘动不了
调试的时候出现这种情况可以使用鼠标把进程结束。
类型用WH_KEYBOARD_LL
记得钩子处理函数要放在DLL里面,不然不能全局
全局钩子对于在各种程序中的按键几乎都能响应
在vista或win7的用户账户控制(UAC)开启的情况下可能需要管理员身份运行才能实现“全局”
ie等一些多进程软件中的子进程可能处在低完整性级别,这种时候钩子我记得是进不去
另外线程必须要有消息处理循环否则你会发现键盘动不了
调试的时候出现这种情况可以使用鼠标把进程结束。
追问
恩,非常感谢!我考虑一下。
展开全部
最好不要用简单的一个按键,应该使用组合键作为热键,避免误操作和影响正常使用
追问
恩,我也是这么想的。谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-19
展开全部
这个服务器需要响应确实比较难。
追问
起码对我来说现在还没想到方法。我的设计是想通过这个服务进程,来响应键盘,然后执行比如打开“千千静听”播放器,但是现在需要先通过系统热键来唤醒这个进程,才能执行指令。你有什么建议吗?谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询