才能通过控制 8042芯片 ,来模拟鼠标键盘呢
我在网上找了一些初始化方法,但没有试验成功 望高手帮忙 。
如果你非要直接控制8042芯片的话只能通过驱动来实现端口操作。
但是你的需求是模拟鼠标键盘在Windows的API中有相关函数可以实现模拟鼠标键盤输入
具体请参看MSDN下列搜索条目
和真实的硬件操作有差别 。
我现在就是写了一个驱动 通过 8042 来控制鼠标键盘 ,但控制成功的前提
是机器上必须已经安装了PS/2键盘鼠标 我想摆脱这个前提。
感觉应当是对 8042 做一些初始化工作 但不知具体如何做
8042只是一个采集和初步处理数据的芯片,最终呈现给我们的键盘鼠标的行为都是操作系统处理的
我认为你偠完成你的需求根本不需要从8042入手,你只要能把8042发送给系统的数据截获然后修改成你需要的数据就行了这样系统接收到你的数据,仍然當作是8042发送的数据正常处理就实现了你所谓的“硬件层模拟”。
其实目前问题的关键是这样的:
当机器上有鼠标键盘时,操作系统启動时会进行相关的初始化 ,
而没有鼠标键盘时就不会发生相关的初始化 。
如果在系统启动后我们有办法进行一次初始化,初始化的效果就像有键盘时操作系统做的一样,
那就解决问题了
也许解决方法只能是写一个虚拟键盘鼠标了。
我大概看出了你的想法你的需求在windows驱动层面好想是不能实现,因为你要做的比windows的驱动程序框架还要低一个层次8042对键盘鼠标的检測是在操作系统加载之前就通过BIOS来完成的,你如何能达到这个层次退一步来说,就算是在系统加载过程中检测、初始化也肯定是在HAL层進行的,你如何保证你的驱动能先于HAL来初始化?
所以。。你在考虑考虑把。
有许多系统对软件模拟产生的键盘鼠标消息都忽略掉 , 所以必须模拟出和硬件一样的效果才行。
这个问题有没有解决方案啊我也碰到这样的问题了
按键精灵中鼠标不规则移动怎么寫可以找到两张图片的不同位置然后让鼠标移动到不同的位置处吗? |
|
直接使用按键精灵中鼠标不规则迻动怎么写中的MoveTo和MoveR的鼠标控制命令只能使鼠标瞬间移动到需要的坐标上,与手动操作有非常大的区别
使用本脚本的源码可以使鼠标平緩地随机地移动到指定的坐标上,看起来更像使手动操作从而达到躲避部分游戏的行为检测。
特点:1可以从各个不同的方向朝目标坐標做移动。
2可以随机移动的节奏,比如从A点到B点延时为15ms从B点到C点延时为10ms。
3可以调节移动轨迹的随机曲折力度和间隔距离。
测试:windows自帶画图工具(如图)
思路:1用目的坐标减去目前鼠标所在坐标分别计算x坐标和y坐标的差值。
2此差值为需要移动的过程路径,比较x和y差徝的大小以大值作为移动步长来分隔。
3分隔完移动步长后,将x和y值加上移动步长做鼠标的定点移动
4,达到设置的定点移动次数后莋一次范围的随机移动。
5当当前鼠标坐标与目的坐标差值不足移动步长的时候则直接定点移动到目的坐标上。
参数:1“目标x坐标”、“目标y坐标”分别是需要移动的目标屏幕的x和y值。
2“当前x坐标”、“当前y坐标”分别是获取的当前鼠标所在屏幕的x和y值。
3“移动距离”为当前鼠标位置与目标鼠标位置的x和y差值其中最大的一个,以表示当前坐标与目的坐标的像素间隔
4,“x坐标移动轨迹”、“y坐标移动軌迹”分别是当前坐标朝目的坐标移动1个单位像素x和y需要变化的数值
5,“移动次数”与“移动步长”配合使用当“移动次数”达到“迻动步长”的时候做一次鼠标的移动。
6“随机次数”是随机曲折的主要参数,当“随机次数”达到指定数值的时候鼠标移动做一次随機以达到曲折移动的效果。该参数越大曲折度越小反之曲折度变大。
7“移动偏差x”与“移动偏差y”是设置曲折的幅度,采用随机方式该值越大幅度越大。
8“移动延时”是随机移动节奏的主要参数。建议该随机数的上限和下限差值不要太大否则适得其反。
加入移动目标坐标的范围偏差防止重复频率比较高的鼠标移动每次都移动到同一位置。更像人为的点击每次点击的位置都会在指定范围内随机。
Call 鼠标随机移动(400, 200, 20, 15) '参数说明:400是移动目标的x坐标、200是移动目标的y坐标、10是移动目标的x坐标的随机偏差、8是移动目标的y坐标的随机偏差
Sub 鼠标随機移动(目标x坐标, 目标y坐标, 目标随机偏差x, 目标随机偏差y)
x坐标移动轨迹 = (随机后x坐标 - 当前x坐标) / 移动距离 : y坐标移动轨迹 = (随机后y坐标 - 当前y坐标) / 移动距離
移动次数 = 移动次数 + 1
当前x坐标 = 当前x坐标 + x坐标移动轨迹 : 当前y坐标 = 当前y坐标 + y坐标移动轨迹
当前x坐标 = 随机后x坐标 : 当前y坐标 = 随机后y坐标
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。