(讨论) 挑战极限
大家都知道,当我们的程序注册一组热键时,会通知操作系统进行注册
我的想法是 有没有什么方法 可以获取当前系统中所有已注册的热键 并知道哪个热键属于哪个应用程序
反正我是想不到方法,在此请教各位老师? 请大家积极讨论!!!!!!!!!!!!!!!!!!!!!!
[解决办法]
我弄过好几个热建的东西, 你这个想法我也曾经有过, 不过没细研究过
不知道系统有没有查询的专用api, 我能想到的是给系统内所有线程设置 getmessage 或者 peekmessage 的api hook
能接收到 hook api 的 wm_hotkey 信息的线程所在的进程就是,....
如果多个进程多次注册同一个热建, 还是不好区分, 因为他们都注册成功了, 响应标准是, 看线程优先级
[解决办法]
我还有个想法, 枚举所有窗口句柄, 用 wm_gethotkey 测试, 不过这个方法我敢肯定是否对 RegxxxHotkey 函数注册的热建也管用,而且,这个函数可以向单个窗口注册多个热建,而 wm_gethotkey 只能获取一个,还不能肯定是否能确认是regxxhotkey注册的...
regxxxhotkey 的函数只有4句,直接调用ntdll.kifastsystemcall进了内核....
[解决办法]