首页
社区
课程
招聘
[求助]按键精灵是如何模拟鼠标键盘的?
2006-4-16 17:53 8936

[求助]按键精灵是如何模拟鼠标键盘的?

2006-4-16 17:53
8936
前次说到想做一个类似于按键精灵的鼠标模拟器.

用sendinput方法进入游戏战斗界面后,游戏不响应鼠标左键点击消息.
试了一下按键精灵发现使用正常,

因此怀疑是游戏判断了一下似乎软件产生的消息.

查网页,不知道哪位哥们说了一句,按键精灵是用winio实现的.

然后研究winio实现.

前天,终于将PS/2的鼠标键盘模拟给搞出来了.

出现一个问题.

首先是鼠标,只支持PS/2接口的3键鼠标.如果是2键的相信会有问题.USB接口的鼠标已经试过了,模拟只能将PS/2键盘搞死

按键精灵应该不会那么复杂的去判断用户到底使用什么鼠标和什么接口(PS/2,
USB)吧.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (7)
雪    币: 236
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
xeno 2 2006-4-17 15:59
2
0
模拟鼠标按键的话,你可以试试mouse_event

VOID mouse_event(
  DWORD dwFlags, // flags specifying various motion/click variants
  DWORD dx,      // horizontal mouse position or position change
  DWORD dy,      // vertical mouse position or position change
  DWORD dwData,  // amount of wheel movement
  DWORD dwExtraInfo
                 // 32 bits of application-defined information
);
雪    币: 212
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Morpheus 2006-4-18 19:01
3
0
mouse_event有用我就不用舍近求远了
雪    币: 209
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
testttt 2006-4-19 11:25
4
0
可能是用HOOK记录消息,然后回放~~~~~~

仅仅是推测~~~~~
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
winnet 2006-4-19 21:20
5
0
最初由 testttt 发布
可能是用HOOK记录消息,然后回放~~~~~~

仅仅是推测~~~~~


很有可能哦
雪    币: 225
活跃值: (916)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
斩天 2006-4-24 10:31
6
0
好像新版的按键精灵,有关于USB鼠标的选项
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
drwch 3 2006-4-27 07:36
7
0
按键精灵没用过,不过它历史都这么悠久了,现在的版本应该将模拟输入提升到驱动级了吧

具体实现起来,写一个标准的键盘/鼠标类过滤驱动,或者直接找DriverObject再HOOK掉Dispatch Routine也可以(不正常插入设备栈的话就要用全局变量,有点不美观,呵呵)
模拟时将PENDING的IRP自己COMPLETE掉
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
roywanglu 2006-10-21 01:00
8
0
楼主,我也一直在做winio模拟键盘,死活搞不通,你写的源程序能发给我看看吗?
我就想知道怎么样改0X60,0X64 里的内容才能有效得模拟按键动作,类似于时序什么的吧……
关键的那几句setportval
谢谢了

roywanglu@yahoo.com.cn
QQ:373507860
游客
登录 | 注册 方可回帖
返回