在VC++编程中,如何让一个后台服务进程,即时响应键盘输入的按键,然后根据这个按键值去控制其他程序。

在VC++编程中,如何让一个后台服务进程,即时响应键盘输入的按键,然后根据这个按键值去控制其他程序。,第1张

用SetWindowsHookEx下全局键盘钩子

类型用WH_KEYBOARD_LL

记得钩子处理函数要放在DLL里面,不然不能全局

全局钩子对于在各种程序中的按键几乎都能响应

在vista或win7的用户账户控制(UAC)开启的情况下可能需要管理员身份运行才能实现“全局”

ie等一些多进程软件中的子进程可能处在低完整性级别,这种时候钩子我记得是进不去

另外线程必须要有消息处理循环否则你会发现键盘动不了

调试的时候出现这种情况可以使用鼠标把进程结束。

首先设计一个类,你总共想要几个快捷功能,然后编写相对应的函数,利用switch。。。case语句进行选择调用。你的功能键可以与键盘以及鼠标相关联,你可以在属性里边设置,你也可以设置一个功能键如“自定义功能键”,在这个功能键相应的函数里添加选择对应关系的代码,这些代码也可以用if。。。else语句实现。

switch(gongnengjian)

{

case gongnengjian==0:“鼠标左键”//这个是指调用鼠标键对应生成的函数

swith(gongnengjian1)

{

case gongnengjian1==0:“邮箱号码”//这个是字符串

}

break;

}

不知我这个设计可用否,你可以试验一下


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11227537.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存