首页
社区
课程
招聘
[求助]DirectInput 与SendInput
发表于: 2011-8-19 18:16 15504

[求助]DirectInput 与SendInput

2011-8-19 18:16
15504
SendInput 可以模拟按键,在底层键盘钩子里用LLKHF_INJECTD可以区分模拟按键和真实按键,在DirectInput里如何区分,看了很多贴子,说DirectInput与硬件直接交互,照理说DirectInput里的
GetDeviceState和GetDeviceData获取不到模拟按键信息,确实很多帖子说SendInput对用DirectInput实现的游戏无效,实际上是有效的,我用DX SDK附带的Mouse.exe测试的。
问题:
(1)win32k!NtUserSendInput大致实现流程是什么?我已经看了RectOS里的实现,好像Windows的实现不一样,至少没有设置LLKHF_INJECTD,
(2)GetDeviceState在那里获取的数据,为什么能获取SendInput发送的数据
(3)GetAsyncKeyState不是检测物理键盘的状态吗?它也不能区分SendInput模拟按键和真实按键
(4)看到RectOS里有个gQueueKeyStateTable全局变量,SendInput影响了这个数组,难道GetAsyncGetKeyState,DirectInput都是在这里获取的,Windows本身实现有这么一个数组吗?我反汇编下win32k!NtUserSendInput,基本没有看懂,各位大侠指导下!

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

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 271
活跃值: (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己顶下,高手指导下嘛
2011-8-19 22:44
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
3
其实DirectInput 实际上是个SetWindowHookEx设置的某种类型的钩子而已~~
OD下断就有真相~
2011-8-20 07:47
0
雪    币: 271
活跃值: (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不是很明白,能具体说下吗
2011-8-22 09:21
0
游客
登录 | 注册 方可回帖
返回
//