粉丝7375获赞1.4万


好,我们今天来讲一个比较实用的函数啊,鼠标函数啊,鼠标函数,我们可以看到我们的软件的左边呢, 他这里有几个非常常用的函数分类,一个是键盘啊,一个是鼠标,你看这两个他是摆在最前面的,说明这两种功能啊,他的实用性是非常强的, 他的用的频率是非常高的,因为我们学习这个编程软件呢,我们学习这个编程语言,我们的很大程度上的目的就是为了让他可以托管我们的键盘和鼠标,代替我们进行一个工作,所以这个键盘 和鼠标的函数他是放在最前面的,他的应用频率非常高,我们可以看到啊,他这里有很多插入的按钮,我们可以直接通过这个来 直接插入代码,这样你就可以不用去写,可以不用去写,那我们最常用的,最常用的鼠标函数,一个是 left click, 左键点击,还有一个是什么?还有一个是 move to 移动到我们屏幕的某个坐标点, 这里我简单讲一下我们的屏幕坐标系啊,我们的屏幕坐标系是以左上角,以左上角为原点, 左上角的坐标是零零啊,是零零, x 是零, y 也是零,然后往右 x 轴递增, 右边 x 轴的上限就是我们屏幕分辨率啊,第一个数字的上限,比如说我们的屏幕分辨率是一九二零乘以一零八零,那么我们 x 轴的上限它就是一九二零, 我们外轴的上线就是一零八零,能不能明白?左上角是零零,然后往右 x 轴递增啊,往下外轴递增啊,这个就是我们的屏幕这标写啊, 所以我们的 left click, 它可以控制我们鼠标点击我们的 move to 了,它可以控制我们的鼠标移动,那我们就可以怎么样?我们就可以随心所欲 让我们的鼠标移动到屏幕上任意一点啊,移动到屏幕上任意一点,然后进行一个点击啊, lever click, 是左键点击, right click 了啊,是右键点击,我们可以试验一下啊,我们可以试验一下, 我拿这个 ps 软件来实验呢,我们可以粗略的截取一个坐标啊,你可以用 截图工具啊,然后你想要获取屏幕上某个点的坐标的时候,你可以用截图工具,简单粗暴的啊,这样截一下,然后把我们这个图框啊放到左上角, 然后去啊,用这个矩形去定位,你如果想截取 中间某个点的位置,比如说这个啊,这个点的位置,那我们就可以去看这个矩形的长宽,在他的左上角啊,就可以看到我们矩形的长宽,通过这个长宽我们就可以知道这个点他的坐标是哪里的 啊,比如说我再截一下啊,我们可以看到它的坐标就是一零九四啊,七二八,一零九四七二八。 好,我们就可以这么写, move to, 一零九四,逗号,七二八。好,这样呢,我们就可以让我们的鼠标 移动到我们想要的位置,我们可以试试啊,我们把鼠标移过去,然后点一下左键, 如果我点左键的话,我们会在这个画布上画一个黑点,我们可以试试按下 f 十启动啊,看见没有,我们的鼠标在我们的屏幕上画了一个黑点,对不对? 那如果我们想要画多个黑点的话,比如说啊,我们把这个鼠标随便改一改啊,随便改一改,三三三 啊,看见没有?我的屏幕就瞬间画了三个点,对不对?刚才我们可以看到啊,我们的程序去点这三个点的时候啊,非常的困, 几乎只在一瞬间呢,那我们可以再加两个点, 我们再看看啊,看见没有?五个点也是瞬间完成,对吧?这样太快了啊,有的时候我们不需要他这么快, 我们想让他慢一点点啊,怎么办呢?我们可以去加一个延迟啊,延迟, 这几乎是我们编写这个按键的代码的时候啊,使用频率最高的函数啊,使用频率最高的函数 delay, 这个就是延迟 他后面的参数啊,单位是毫秒,那一千毫秒等于一秒啊,一千毫秒等于一秒, 所以我们要去加上延迟,我们这个程序他运行的时候呢,那才会看起来更加自然呢,才会看起来更加自然。 我们可以这样啊,给它多加上一个延迟,看见没有? 这样我们程序他会怎么样?他会一秒钟啊,一秒钟,先移动啊,然后再点击,再移动,然后再点击,我们先把整个屏幕都啊都清空啊,都清空, 清空,清空完之后呢啊,我们就来试试看我们的程序后怎么执行呢? 看见没有?我们的鼠标先移动过去,然后停顿一秒钟,他才会去点这个点,看见没有,还是这样子的, 那我们从现在开始啊,就可以去建立一种编程思维了啊,什么思维呢? 就是在这种会重复性的利用同样的数据的时候啊,我们尽量怎么样?我们尽量去用一个变量来代替它,比如说我们生命一个变量叫什么?延迟参数, 然后我们给这个变量给他复制啊,比如说我们复制五百毫秒, 那就是半秒钟啊,对吧?你看像这样写, 嗯,你看像这样写,我们去用一个参数来 detail 一个啊,相对固定的数字,这样的话呢,我们只需要去修改一个参数的数字,我们后面每个地方他都可以做到修改,这样就比较灵活啊,也比较啊简便。我们可以试试看啊,我们可以试试看, 我们先把他们都删掉啊,然后再来画一下啊,看见没有?现在就只有半秒钟啊,就没有一秒钟了。 那如果我们想让它快了,我们就可以把这个延迟参数啊,把它改小,比如你可以改成零啊,改成零,然后我们再来看呢, 删掉,我们再来试试看,改为零, 你看他就又可以瞬间完成了,对吧?这就是一种比较灵活的编程思维啊,我们就可以把一些啊常用的这些数值, 把它怎么样?把它给变量声明一下啊,他用一个变量来声明,然后在后面去引用这个变量,这样呢就可以实现一个比较灵活的目的了 啊,能不能明白?那我们要制作一个最最简单的工具啊,比如说鼠标连点器,那我们可以怎么制作啊?嗯,可以把这些都删掉啊,我们都把这些都删掉, 我们可以直接写一个死循环啊,无限循环啊,死循环也叫无限循环,然后呢我们去点击鼠标, 然后呢我们加一个延迟,这样呢我们就实现了一个最最简单的鼠标点击器,那我们启动的时候呢,我们的鼠标左键他会不断的去点击啊,他会不断的去点击, 而且频率非常快,看见没有?因为我们的频率设置是零啊,你可以把它改高一点,改为五百左肩。我们看不出来啊,我们可以去用右键来去试啊,右键来去试, 你看这样就可以去写一个最最简单的啊,鼠标点击器,你可以叫他点左键或者点右键不断的去点,然后还可以给他设置一个参数,我们在软件里面就可以看得比较清楚了啊,用右键的话,你看 他会弹一个什么?他会弹一个这个菜单出来啊?这个时候程序还没启动啊,我们来启动一下 f 十啊,看见没有这个参数,看见没有这个菜单他会一直弹啊。

大家好,我是延己,今天呢给大家去讲一下按键精灵电脑版获取窗口聚饼,那得到这个窗口聚饼有什么用呢?那这个窗口聚饼呢就相当于我们窗口的一个身份标识, 然后你得到这个窗口区屏以后,就可以进行一些啊移动啊啊,还有后台的操作。那给大家去讲一下,首先我们要用到的命令就是这个 find 插入窗口,然后复制一下这个代码例子, 然后它的参数呢就是一个啊类名和标题,那第一个是类名,我们打开按键抓抓,然后找到锯柄,这有一个拖动的东西给它拖上去,那这里呢就会看到这个类名是这个, 那后面零呢?就是传的一个空。那你如果说你没有标题的话,你可以给他传一个空,但是你要是有标题的话,建议大家是给他补全,这样的话以防止就是,嗯,他会找到其他的这个窗口。好,我们现在调试启动一下, 得到的是二六八八,他跟我们嗯按键抓抓这里啊得到的都是一样的,那我这里要不然要是把这个标题传空呢?他也是可以的 啊。所以说你要是游戏的话,你比如说类名和标题,你少一个的话,你只要取一个固定的啊,那另外一个没有的话,你给它传个空也是可以的。 然后我们现在得到这个窗口聚屏以后,怎么样通过这个窗口聚屏把这个窗口移动到屏幕的左上角呢?我们用到的命令是这个 m o v e 移动窗口, 然后这里可以判断一下 if, 如果说这个锯饼它大约零,是不是就说明找到了呀?然后我们让它移动到这个,呃,零逗号零坐标就是我们的左上角,我们来调试启动一下, 嗯,就可以了,是吧?啊?那所以说大家如果写一些游戏的话,你就是你想写一个比较简单的一个前台操作, 那你这个啊,坐标啥的你又不想让他每次都去修改,那你就可以你每次启动的时候都给他固定到屏幕的左上角啊,然后基于一个左上角的话去。 嗯,写一些这个固定的操作,比如说这个范围识别啊啥的,然后这个就是本集的一个内容,如果说大家感兴趣学习安检精灵以及像游戏多开啊啊,也可以来延吉书城班来学习,感谢大家观看,我是延吉。

大家好,我是多多,欢迎大家观看我按键精灵第一百四十八节课,这节课呢咱们继续讲文档里面的内容插入、读取、删除、替换文本,咱们在电脑桌面新建一个文文本档,随便写一个名字, 然后呢打开它,咱们在这里面呢呃,一样呃是填写一下这个文本, 然后填写完成之后呢给它保存一下啊,大家看一下,然后呢?呃,找到这个插入一行内容,它在我的命令库文件里面啊,这呢有插入文本 内容到指定行啊,大家看一下啊啊直接啊啊复制他这个帮助帮助文档啊,直接复制出来,直接粘贴进去, 这个呢是命令,然后这里面呢一共有三个参数,第一个呢是路径,第二个呢是内容,第三个呢是在第几行进行插入啊? 咱们呢把这个路径呢给它复制一下啊, 这个内容呢咱们给它啊填一下啊, 大家看一下,在第三号啊第三号进行插入, 然后给大家看一下他就是在这个第三行后面进行插入进去,然后咱们点击调试试,然后点击启动啊,咱们打开一下他,然后大家看一下他是在第三行后面进行插入进去 啊,然后咱们在这呢一样啊把他删了,把他删了恢复一下,然后给他保存啊, 咱们讲一下这个,呃插入多行内容,给大家讲一下 一样,咱们把它啊复制出来,然后呢再粘贴一下啊,咱们在这呢给它。呃,这个是多多一,然后下面这个呢是多多二 啊,第一个呢是插入的第三行,第二个呢第一个是插入的第三行,第二个呢咱们是插入的第四行,给大家看一下这个效果, 点击调试启动啊,大家看一下,它就是从第三行开始有顺序的进行,插入了两行内容,这个呢是插入多行的这个斜法 啊,一样,咱们回复一下, 接着呢咱们,呃读取指定一号的内容啊,咱们讲一下这个 啊,点击它啊,直接点击插入就行了。 呃他这个呢?呃,有一个返回值,就是把这个内容返回出来,然后这一部分呢是这个命令,然后后面呢?呃这一部分呢是路径和函数,他这个都给你标注好了,咱们可以填这个。呃路径啊, 把这个路径呢给他复制出来。 好数呢,咱们写这个第三号吧啊?第三号啊,把这个路径前面这有个问号给它删了,调试输出一下, 然后咱们打开这个记事本,然后给大家看一下调试啊,启动啊,这个呢正好是第三号啊, 大家看一下这个呢是读取指定一号的内容,然后这个获取总行数,就是总共是多少行, 我是在第一百四十四节实战中讲过了,在这就不给大家罗嗦了。大家如果想知道这个命令怎么写的话啊?大家去在在这个一百四十四节大家再去看就行了。我啊讲过了, 然后这呢是删除指定行的文本。呃文本内容啊, 嗯,在这在这是删除指定行的文本。呃内容。咱们找到这个 帮助啊,他这有这个啊,有这个帮助啊,把这个呢直接复制出来, 直接复制粘贴出来。一样啊,他只有两个参数,第一个参数是路径,第二个参数呢删除第几行,然后这个呢是命令啊,咱们把这个呃路径呢给他复制出来, 咱们直接让它删除啊,删除第五行啊,这呢它是五啊,删除第五行,打开看一下啊,啊,删除这一行,点击调试啊,这有个问号给它删了, 点击启动啊,大家看一下,第五行删除了啊,咱们一样老样子啊,一样给他恢复一下 啊,你要删除多少行?怎么删入呢?删除呢?然后比如说咱们删除第三行,然后紧接着删除第四行,把这两行给它进行删了。怎么办呢?我给大家写一下啊, 大家看一下这个参数,这个三,因为咱们删除完第三行之后呢,这个第四呢就变成这个第三号了,所以咱们删除它的话啊,也要删除这个第三号就行了。 然后啊,咱们给大家啊试一下啊,点击调试启动啊,这个呢是删除多行的内容啊,大家看一下,把三和四删了,老样子,咱们再回复一下, 然后保存一下,然后还有一个呢是是替换啊,替换啊文本内容啊,替换文本内容,然后呢这个呢,咱们一样还是复制这个帮助文档就行了, 复制这个帮助文档,把它复制一下粘贴进来,然后把这个路径呢啊也给他放进来, 然后咱们把这个内容呢给他变一下啊啊? 把这个呃,把这个五呢啊,咱们给他换一下这个第三号就得了啊,把这个 写成多多真帅,多多真帅得了啊, 复制路径的时候一定要看一下它,有的时候前面会带这个问号啊,把这个第三行换一下,然后点击调试,点击启动啊, 大家看一下这个呢就是替换一号的内容,大家注意下这个细节,其实说白了啊,这所有的这个,呃, 这里面所有的这个命令呢,它其实就是通过,呃,通过这个按键精灵自带的这个插件,文件插件,然后有这个 啊,读取跟写入啊,这个是写入,还有读取是通过这两个命令搭配着我之前讲过的数组,数组的增删改查来进行实现的啊,底层都是这个 掌握数组的知识呢啊,以后就会更加灵活,你想要做什么事情呢?其实都可以通过这两个命令 再加上数组的增删改查,数组的使用来进行,对吧?比如说你要对啊文本文档里面的内容进行排序啊,怎么着的,对吧?咱们之前的课呢,咱们都讲过了,这些基本的算法啊,在这节课呢就不啰嗦了,大家注意下这个细节, 把之前的那个课呢多看看,多学学,多练练啊,咱们下节课到这了。

那么我们在实际应用当中啊,我们在实际应用当中,其实很多时候我们是有这样一个应用场景,就是我们知道起点,然后我们知道终点, 比如说我们起点坐标是六百乘以五百五,然后我们制造一个终点,制造一个终点,比如说是八百乘以三百三,那我们怎么样才能让我们程序智能的去运算这个绘制轨迹, 让他达到这个目的的?我们可以设计这样一种算法啊,嗯,假设我们知道我们的起点坐标 x y 和我们的终点坐标 x y, 那我一个点要移动到另外一个点,我们可以用 我们的终点坐标去减去我们的起点坐标,但它会有两个值啊,它会有两个值,因为我们有两个坐标值嘛。 exo y 用 x, 假如说我们重点坐标是 x 二,那这个时候呢?起点坐标是 x 一,采取一种线距 x 一怎么算法?它可以得到一个什么?得到一个叉子,我们取两个点,我们暂且把它称为 a, 然后我们重点 y 坐标呢? 减去起点 y 坐标,我们叫 y 一,对吧?我们假设它等于 b, 对吧? 那我们可以去比较一下 a 和 b, 谁大谁小啊?谁大谁小。如果说 x 轴的这个差值要小于 y 轴的差值,那我们可以让 x 轴呢,每次移动的不符呢?就等于一,那 y 轴啊,每次移动的不符呢?就要去运算一下啊,等于几啊?等于 b 啊?除以 a, 那有的时候会出现一种情况啊,就是我们终点坐标减去起点坐标,他的这个距离值啊,他可能是负数,对吧?他可能是负数, 包括这个外数班,他的差距也是一样啊,这个距离他也是有可能会负数啊,他也有可能会负数,所以我们怎么样?我们要算的时候啊,在比较他们 这个长度的时候,我们都需要用绝对值来比较,那我们在代码里面怎么去写啊?怎么去写?假如说啊,假如 我们在这里设计一组模拟数据啊,我们起点坐标是 x, y 六百五百五,我们终点坐标,我们把它定为多少,我们把它定为八百 c, 两百八,这是我们终点坐标。然后按照我们刚才的逻辑啊,我们可以去运算这两个坐标它们之间的差值, 我们在后面进行运算,在这里进行运算,比如说我们的第一个叉子,我们还是给他定一个参数啊,定一个变量 坐标叉子 x, 还有一个坐标叉子 y, 那 x 坐标叉子呢?它又等于什么?等于我们的终点坐标 进去我们的起点坐标。 然后呢,我们要取它的绝对值啊, a、 b、 s 就是它。假如等于负数啊,我们让它等于正数啊,取绝对值。 还记不记得绝对值这个函数啊?在我们的前面节目讲过啊,在全部命令里面啊,这里面有一个标准 v、 b、 s 命令,数学函数里面就绝对值 函数,这个函数看见没有?它的描述是什么?返回数字的绝对值啊,绝对值。好,那我们有了 x 坐标的差值,那我们再获取万数标的差值, 这里如法炮制啊,如法炮制,这样我们就可以得到两个啊,两个距离的差值,我们去比较哪个差值比较大,哪个差值比较小, 我们判断一下啊,我们判断一下衣服啊, x 小于 y, 那这个时候呢?那我 我们的 x 轴不符啊,它还是等于一,那我们的 y 轴不符呢?我们的 y 轴不符呢?就等于我们的坐标叉子 y 除以 x 坐标叉子。 像这样写啊, als 呢?我们简单粗暴一点啊, als 就假如它大于等于 y 的时候, 其实等于号是另外一种单独的情况啊,我们应该把等于单独拿出来写,不过这里呢,我们就先简单粗暴点咱们写一下, 你看,我们要把它做一个运算啊,我们要把它做一个运算,然后呢? 我们的复循环呢?它的循环次数要等于多少?要等于我们叉子啊,叉子这个小的,这一方 谁小取谁啊?谁小,这个循环次数啊,就等于谁。所以我们在前面还可以再写个参数啊,写个变量是什么循环次数, 它应该等于多少?谁小等于谁嘛,对吧? x 比较小,那我们就等于 x, one 是比较小的,那我们就等于 one, 所以我们循环次数啊,把它剃掉,把它剃掉。让我们来看一看啊,我们来看看我们的效果啊,我们能不能把这个两点之间这个线给连起来啊? 好看见没有?他没有,他没有连,对啊,他没有连对, 为什么?因为我们的这个 x 坐标啊,六百五百,和我们的这个啊,我们的起点坐标六百五百,和我们的终点坐标八百 二百八,他们的关系明显不是这样的啊,他们的关系明显明显不是这样的,这个点他的外坐标值啊,肯定是应该大于我们的啊,起点坐标的,我们起点坐标是 五百五,这个终点坐标呢,他只有两百八,他应该在这个地方啊,但是他画错了,他画了一条向下的线,为什么?因为我们的这个不负了,正负啊,没有做判断, 我们这里是取了绝对值的啊,但是如果我们不取绝对值,它这两个值的正负它有四种情况。第一种情况 是我们的 x 叉子大于零, 并且呢,我们的 y 坐标差值了,也大于零,对吧?这是种情况。另外还有三种情况, 我们的 x 叉子大于零,但是我们的 y 叉子呢,它要小于零。 再就是我们的 x 叉子,它有小于零 y 了,它也小于零。 最后还有一种啊, x 差值小于零,但是 y 呢,大于零,对吧?看我们的差值相减啊, 他们的坐标叉, a 和 b 分别有这样四种情况,大于零,大于零啊,大于零,小于零,小于零,大于零,小于零,小于零。 当然了,严格来讲的话,我们也有可能等于零啊,如果我们再严谨一点,我们可以把等于零也写进去啊,不过这里我们先啊,先不写等于零,我们将来再说。等于零的时候,这个判断应该怎么去加? 我们现在先把这四种情况,我把它整理一下啊,我把它整理一下。假如说我们一个这个坐标值啊,两个点,一个点在这里,这也太边缘了,不好演示了。 假如说我们中间这里是我们起点,那我们终点在这里,那这个时候 我们的终点减去起点,他们的这个差值啊, a 和 b, a 就是 x 轴差值, b 就是 y 轴差值,他这个时候他的差值应该是 a 大于零,但是 b 要小于零啊, b 要小于零。 所以说我们第一种情况啊, a 大于零, b 小于零,就在这里写。这个时候呢,我们应该让我们的 ex 不符啊, 还是等于一啊?但是我们外轴不符了, 那我们的外轴不负,应该等于负的 好,然后我们的这两个点,假如终点在这里, 假装一下这里,那我们的 a 和 b 啊,他们的差值 a, x 的差值应该大于零啊。 b y 轴差值应该也大于零啊,应该也大于零,当他们都大于零的时候呢?啊,那就比较简单啊。 还有一种呢, 当我们重点在这里,那它们的差值 x 轴差值啊,就是应该小于零的,那 y 轴差值呢?应该大于零, 在这里我们 x 走了,那等于负数,那 y 走了,那还是正数好。最后一种情况啊, 在这里重点,重点在这里的时候呢,我们 x x x 为负, y 轴 x 值呢,它也为负,都是负数, 在这里都是复数。 好,那我们有了这样一个判断以后啊,我们再来看我们的程序,看能不能画出我们想要的结果 好,看见没有,他这个手就对了,他这个手就对了, 我们再可以去修改一下我们的这个模拟啊,模拟数据,我们起点不用去改啊,我们去改我们的中脸, 我们把终点改到我们起点的这个右下方,那我们只需要去修改我们的外坐标就行了,我们外坐标只要大于他,就在我们起点的右下方, 嗯,对吧?那左下方呢?左下方只需要我们的 x 坐标小于小于起点坐标 y 鼠标了,把鼠标打给他, 然后左上角了,对吧?画这里怎么画? 那只需要我们终点坐标 x 坐标呢?还是一样小于 y 坐标呢啊?也要小于, 看见没有?好,那这样呢?我们就实现了一个鼠标晃动的一个功能,我们可以给他指定两个点,有终点,有起点这个参数坐标了,我们可以去自己设置, 然后我们的程序可以自动的去运算这个移动轨迹啊,应该怎么去动?应该怎么去动? 但是我们这个程序他有没有写完善啊?没有啊,没有写完善,因为等于零的情况他还有几种,对吧?如果这个叉 加值 a 等于零的话,那我们 b 大于零,小于零啊,这是两种情况,对吧?我们 a 大于零,小于零,或者,然后我们 b 呢?等于零的时候,它又有两种情况,所以还有四种情况我没有写。