首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

(讨论) 挑战极限解决思路

2012-01-15 
(讨论) 挑战极限大家都知道,当我们的程序注册一组热键时,会通知操作系统进行注册我的想法是有没有什么方法

(讨论) 挑战极限

  大家都知道,当我们的程序注册一组热键时,会通知操作系统进行注册
  
  我的想法是 有没有什么方法 可以获取当前系统中所有已注册的热键 并知道哪个热键属于哪个应用程序 


  反正我是想不到方法,在此请教各位老师? 请大家积极讨论!!!!!!!!!!!!!!!!!!!!!!

[解决办法]

我弄过好几个热建的东西, 你这个想法我也曾经有过, 不过没细研究过

不知道系统有没有查询的专用api, 我能想到的是给系统内所有线程设置 getmessage 或者 peekmessage 的api hook

能接收到 hook api 的 wm_hotkey 信息的线程所在的进程就是,....

如果多个进程多次注册同一个热建, 还是不好区分, 因为他们都注册成功了, 响应标准是, 看线程优先级
[解决办法]
我还有个想法, 枚举所有窗口句柄, 用 wm_gethotkey 测试, 不过这个方法我敢肯定是否对 RegxxxHotkey 函数注册的热建也管用,而且,这个函数可以向单个窗口注册多个热建,而 wm_gethotkey 只能获取一个,还不能肯定是否能确认是regxxhotkey注册的...

regxxxhotkey 的函数只有4句,直接调用ntdll.kifastsystemcall进了内核....
[解决办法]

探讨
我还有个想法, 枚举所有窗口句柄, 用 wm_gethotkey 测试, 不过这个方法我敢肯定是否对 RegxxxHotkey 函数注册的热建也管用,而且,这个函数可以向单个窗口注册多个热建,而 wm_gethotkey 只能获取一个,还不能肯定是否能确认是regxxhotkey注册的...

regxxxhotkey 的函数只有4句,直接调用ntdll.kifastsystemcall进了内核....

[解决办法]
这个问题问得好,目前好像还没有答案
[解决办法]
这个想法有点牛~~~~~~~

Mark...

[解决办法]
很有水准~
[解决办法]
ghotkey 这是全局热键,楼主你的叙述是说找所有当前的热键,前者只是后者的一个小小的子集

[解决办法]
我的思路是,热键的列表肯定是存放于某个地方的,系统在发现热键按下后,根据这个列表来查询,从而决定是向哪个句柄发送消息.

有谁跟踪一下吧.......

顶顶.
[解决办法]
用什么技术都不是问题........极端情况可以写驱动完成.

现在的关键看来是,不知道从哪里下手!!!是吧.

热点排行