3个回答
2018-08-01 · 知道合伙人数码行家
关注
展开全部
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命令来获取一个标题或类名固定不变的窗口的句柄,比如这边默认的就是获取记事本这个窗口的句柄,不管记事本打开关闭几次,用这个命令总是可以获得正确的窗口句柄
另外注意一下,这边获取的记事本句柄并不能进行输入操作,因为这边获取到的是记事本的句柄,而不是记事本中输入框的句柄,所以没办法对输入框进行操作,这个从按键抓抓中可以清楚的看到
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命令来获取一个标题或类名固定不变的窗口的句柄,比如这边默认的就是获取记事本这个窗口的句柄,不管记事本打开关闭几次,用这个命令总是可以获得正确的窗口句柄
另外注意一下,这边获取的记事本句柄并不能进行输入操作,因为这边获取到的是记事本的句柄,而不是记事本中输入框的句柄,所以没办法对输入框进行操作,这个从按键抓抓中可以清楚的看到
推荐于2017-11-25
展开全部
去下载361后台插件,里面也有详细说明,还有简单的示例,只要将录制的鼠标移动坐标用361里的方法替换就行,下面是个简单的鼠标左键单击示例:
Plugin A=Window.MousePoint()
Plugin BGKM5.MMove(A,546,185)
Delay 200
Plugin BGKM5.LDown(A,0,0)
Delay 50
Plugin BGKM5.LUp(A,0,0)
Delay 1000
Plugin A=Window.MousePoint()
Plugin BGKM5.MMove(A,546,185)
Delay 200
Plugin BGKM5.LDown(A,0,0)
Delay 50
Plugin BGKM5.LUp(A,0,0)
Delay 1000
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-22
展开全部
Plugin Hwnd = Window.Foreground() 获取窗口句柄
Rem LOP
Plugin Bkgnd.LeftClick(Hwnd, X, X) 在窗口的X,X处左键。窗口左上角为(0,0),按你所需要点左键的位置自己填
Delay 200 延时0.2S
Goto LOP 跳转到LOP,设置成无限循环。
Rem LOP
Plugin Bkgnd.LeftClick(Hwnd, X, X) 在窗口的X,X处左键。窗口左上角为(0,0),按你所需要点左键的位置自己填
Delay 200 延时0.2S
Goto LOP 跳转到LOP,设置成无限循环。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询