首页
社区
课程
招聘
[讨论]关于模拟按键和注册系统热键
发表于: 2006-3-4 20:37 5340

[讨论]关于模拟按键和注册系统热键

2006-3-4 20:37
5340
1模拟按键
常用的方法是用SendMessage、PostMessage或keybd_event来实现。 但我对某游戏测试,发现只有keybd_event能起作用,其他的两个都不行,不知道像按键精灵类的具体实现过程?
2注册系统热键
可以用RegisterHotKey,如:
StartId:= GlobalAddAtom('MyStartId') - $C000;//产生热键编号
RegisterHotKey(Handle, StartId,0,VK_F11  );

但我在使用中发现不能注册F12,调试发现错误信息提示是:这个F12系统热键已经定义了。不太明白。
那现在用什么方法才能注册F12为系统热键呢?注意:并不是Ctrl+F12之类的,那些都可以的,就是单独注册F12时失败.

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 298
活跃值: (445)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
2
MSDN有提到:

Windows NT4 and Windows 2000/XP: The F12 key is reserved for use by the debugger at all times, so it should not be registered as a hot key. Even when you are not debugging an application, F12 is reserved in case a kernel-mode debugger or a just-in-time debugger is resident.
2006-3-4 21:25
0
雪    币: 298
活跃值: (445)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
3
如果真的要用的话,可以考虑用hook!
2006-3-4 21:26
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
4
能简单说一下Hook与系统热键的区别吗?
2006-3-4 22:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这种东东在程序资源修改网里是很简单的问题了。
2006-3-8 11:20
0
游客
登录 | 注册 方可回帖
返回
//