首页
社区
课程
招聘
winio模拟键盘鼠标的输入
2006-4-8 17:07 28919

winio模拟键盘鼠标的输入

2006-4-8 17:07
28919
收藏
点赞7
打赏
分享
最新回复 (30)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Mouse 2006-7-3 21:41
26
0
模拟键盘和鼠标,需要 另外 用 winio.dll 来发送 消息么?

感觉 直接编程就可以了,windows 自带的osk 屏幕键盘 就是这样的啊。。
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wancb 2006-7-5 09:26
27
0
最初由 Mouse 发布
模拟键盘和鼠标,需要 另外 用 winio.dll 来发送 消息么?

感觉 直接编程就可以了,windows 自带的osk 屏幕键盘 就是这样的啊。。


因为有些程序是屏蔽了模拟消息的,比如 keybord_event,sendinput,sendmessage,
你可能没有研究过NP(gameguard)都会屏蔽这些东西的,
所以只有采用发送硬件消息,直接对端口操作。

我这个方法可以对付国际版冒险岛的NP,可以用硬件消息发送按键消息。
但是对于盛大的冒险岛,再直接操作端口就会有 privilege instruction!
错误,估计是盛大的冒险岛客户端,把EFLAGS 标志寄存器中的 IOPL (I/O privilege level) 标志位和 TSS (Task State Segment ) 中的 IOPM (I/O permission bit map)
做了修改,这样用户程序就没有权限直接对端口操作了。

有谁能告诉该怎么处理这个问题?
谢谢
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wancb 2006-7-5 10:30
28
0
在保护模式下,I/O的访问同样也受到了特权保护。在EFLAGS中存在一个IOPL域。这个域的值决定了能够执行I/O操作的最低权限。
例如,当IOPL为3的时候,表明所有特权级的程序都能够执行I/O操作。
这个域的值仅允许PL=0级的程序进行修改,其他级的程序修改无效。  

有谁知道,上面说的PL=0级的程序,该怎么做?
怎么样,才能使得程序的LEVEL=0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wancb 2006-7-6 08:12
29
0
得到的错误号是=5

查了一下是,“拒绝访问”

没有开盛大冒险倒,就没有这个错误,可以直接操作硬件端口。
开了之后,就是“拒绝访问”
谁有办法,解决这个拒绝访问
雪    币: 107
活跃值: (641)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
runjin 4 2006-9-17 14:29
30
0
顶一下,好贴
雪    币: 4031
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ztenv 2018-11-22 09:23
31
0
请问解决这个问题了吗?
游客
登录 | 注册 方可回帖
返回