按键精灵后台鼠标按键怎么用?

Hwnd=Plugin.Window.MousePoint()//获取鼠标指向窗口句柄,为后台服务Delay1000CallPlugin.Bkgnd.LeftClick(... Hwnd = Plugin.Window.MousePoint()//获取鼠标指向窗口句柄,为后台服务

Delay 1000
Call Plugin.Bkgnd.LeftClick(Hwnd, 300, 300)
Call Plugin.Bkgnd.LeftClick(Hwnd, 400, 400)
Call Plugin.Bkgnd.LeftClick(Hwnd, 500, 500)
Call Plugin.Bkgnd.LeftClick(Hwnd, 600, 600)

这是我的代码,是测试鼠标怎么用的,开的是画图,按设想应该能在画布上点出4个点的,怕坐标有问题,至少也有几个点在画布里面吧,但我一个也看不到,求高手指导啊。

换成在记事本里按键盘已经能实现了
展开
 我来答
great佯装埋倦
2015-12-16 · 知道合伙人数码行家
great佯装埋倦
知道合伙人数码行家
采纳数:3258 获赞数:24607
目前就读于重庆邮电大学移动学院,电子信息工程系。

向TA提问 私信TA
展开全部
  1、首先打开按键精灵,点击新建

  2、选择全部命令-插件命令-Window 窗口插件-MousePoint,然后点击插入
  此命令是用来获得鼠标所指向位置的窗口句柄

  3、获取到窗口句柄之后我们就可以对目标窗口进行操作了
  比如我们测试向记事本中按下BAIDU这几个键
  选择插件命令-Bkgnd 后台插件-keypress 模拟按键 (此命令是向目标窗口发送一个按键命令)
  4、在按键键代码的输入框中按下B键,自动给出数字66,然后点击插入
  再依次输入A,I,D,U,继续插入

  5、看到右边的代码编辑界面中66,65,7368,85分别数B,A,I,D,U的键代码,也就是ASCII码
  注意一下这边的Hwnd,Hwnd这个变量用来储存鼠标所指向窗口的句柄,下面的Keypress中第一个参数就是窗口句柄,所以第一个参数全部是Hwnd

  6、接下来我们按F5运行试试看,按键精灵中默认启动热键是F10,我们打开记事本,然后鼠标放在记事本中,按下F10看看效果
  可以看到记事本中依次输入了baidu这几个字符

  7、如果要进行鼠标点击操作的话,在插件命令中,有提供多种鼠标操作命令,比较常用的是LeftClick进行鼠标左键单击,其需要的参数第一个为目标窗口句柄,第二个就是目标窗口中所在点的X坐标,第三个则是Y坐标,说一下,这里的坐标是相对于目标窗口来说的,而不是整个屏幕,以目标窗口最左上角为起点(0,0)开始计算,到目标窗口最右下角

  8、其操作方法跟按键输入差不多,都需要先获得窗口句柄,然后就是键代码变成了坐标位置
  另外说一下,可能有人会说,如果使用鼠标所在位置的句柄的话,这样鼠标就必须指向某一窗口,这样都不算是后台操作了,这里只是演示,可以在事先给出一个值,可以用按键抓抓工具来获得目标窗口句柄,然后将句柄复制下来,比如这里记事本中输入框的句柄为3343758
  那么我们就把原来的Hwnd = Plugin.Window.MousePoint()这句代码改成Hwnd = 3343758
  预先给Hwnd赋值

  这样再运行后把记事本最小化,按下启动热键F10试试,然后再看看记事本,是不是多出了baidu这几个字符
  由于每次窗口打开后句柄都是不一样的,我们也可以用Find命令来获取一个标题或类名固定不变的窗口的句柄,比如这边默认的就是获取记事本这个窗口的句柄,不管记事本打开关闭几次,用这个命令总是可以获得正确的窗口句柄
  另外注意一下,这边获取的记事本句柄并不能进行输入操作,因为这边获取到的是记事本的句柄,而不是记事本中输入框的句柄,所以没办法对输入框进行操作,这个从按键抓抓中可以清楚的看到
匿名用户
2014-02-03
展开全部
你不说明按F1和按F2的功能,脚本没法写的。
1、通常情况下,按F1是调用当前窗口的帮助,你的循环怎么实现?
2、窗口最小化,鼠标将无法捕获窗口句柄,不可能实现对“此窗口”的操作。
按楼主的原意,后台脚本是这样的,但手头没有你的游戏,没办法测试。
Delay 3000
Plugin hn=Window.Foreground()
Delay 1000
For 9999
Plugin Bkgnd.KeyPress(hn,112)
Delay 2000
Plugin Bkgnd.LeftClick(hn,400,411)
Delay 1000
Plugin Bkgnd.KeyPress(hn,112)
Delay 2000
Plugin Bkgnd.LeftClick(hn,400,411)
Delay 1000
Plugin Bkgnd.KeyPress(hn,113)
Delay 1000
EndFor

确保该窗口为第一打开窗口,并激活窗口时启动脚本。之后可转为后台。
追问
不明白你在说什么,F1F2我没打算用啊?是个什么用途?我现在就是在画图里面测试,不是游戏啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2014-02-03 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6449
采纳率:69%
帮助的人:2144万
展开全部
首先,后台操作,前台鼠标是不会移动的,也就说鼠标指针不会动的,只不过鼠标如果在窗口里面会就闪一下,还有,当窗口处于前台状态,前台鼠标坐标会影响后台鼠标操作坐标,所以后台操作时,最好不要把窗口前台,最后,按键自带鼠标操作,有三个参数,其中第二,第三个是坐标,事实上鼠标是不会后台移动后面所设的坐标,所有点击操作,前面都要加一条移动鼠标命令:
Call Plugin.Bkgnd.MoveTo(Hwnd, 300, 300)

我猜你应该刚学后台操作不久,我先告诉你,有些窗口,(例如不少游戏)会屏蔽按键精灵自带后台插件操作,也就是说操作会无效,需要用更强大的插件,这些你以后慢慢了解吧。
更多追问追答
追问
我只需要他在某个点上点击一定要先moveto么?那比如要在300 300上点击,要执行MoveTo(Hwnd, 300, 300)LeftClick(Hwnd, 300, 300)这两句才完成一次点击?
或者是说第二句里面的坐标就不产生什么影响么?

按键精灵被屏蔽我倒是有准备的,以前准备 在虚拟机上操作按键精灵,但是内存开销太大,后来才发现有后台操作,就来试试
追答
是的要两句,不过坐标还是会受到前台鼠标影响。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式