使用Autoit3制作小程序实现自动移动鼠标防止进入屏保

3次阅读
没有评论

刚看了这篇贴子,想起自己之前用Autoit3做过一个类似的小程序,很简单的几句代码就可以实现自动移动鼠标,防止进入屏保,现在分享给大家。
公司电脑防止锁屏保护-移动鼠标小工具 Java实现

我的代码:
[Asm] 纯文本查看 复制代码

#NoTrayIcon ;隐藏托盘图标
While 1 ;载入内存
$pos = MouseGetPos() ;获取当前鼠标位置到变量pos
MouseMove($pos[0],$pos[1],1) ;移动鼠标指针到获取的坐标上,速度为1(最快)
Sleep(50000) ;50秒后重复运行
WEnd

运行说明:
双击程序即可运行,运行后没有任何提示,并且在托盘里也看不到图标,但在任务管理器中可以看到,想要结束程序,就得在任务管理器里面找。
由于屏保可以设置的最短时间为1分钟,因此该程序设置了50秒自动移动一下鼠标,对于比较慢的电脑也有10秒种的反应时间,足够了。
文件大小:618KB,并且占用的内存不大,可以放心使用。

如果想更方便使用,可以创建快捷方式,将快捷方式放到启动文件夹中,让该程序随系统自行启动。
我当时是写在了注册表的启动里面,具体怎样操作大家可以自行百度(两个月没有去单位办公了)。
下载地址:(附源码和生成的程序)
https://cowtransfer.com/s/8ac1ed04e79c47
解压密码:52pojie

以下为更新版本:
____________________________________________________________
代码:
[Asm] 纯文本查看 复制代码

#NoTrayIcon
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=favicon.ico
#AutoIt3Wrapper_outfile=自动移动鼠标防止进入屏保.exe
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
;仅允许只有一个脚本运行
; 请置于脚本顶部
$g_szVersion = "我的脚本"
If WinExists($g_szVersion) Then Exit ; 此脚本已经运行了
AutoItWinSetTitle($g_szVersion)
; 下面是脚本的其它代码
While 1 ;载入内存
$pos = MouseGetPos() ;获取当前鼠标位置到变量pos
Sleep(10)
MouseMove($pos[0],$pos[1],1) ;移动鼠标指针到获取的坐标上,速度为1(最快)
Sleep(49990) ;50秒后重复运行
WEnd

优化说明:
1.只允许有一个实例运行,在多次双击检测到已运行该程序时会自动退出后面运行的程序。
2.从获取鼠标位置到移动鼠标,中间加了10毫秒的间隔,几乎看不出来。
下载地址:
https://cowtransfer.com/s/69067cdf2d9e47

感谢加精及置顶,同时看到大家这么需要这个小程序,我努力把它做到更好。其实在自己使用时发现了这段代码有些不足,也在不断完善它,最近又有一些更新,公布给大家。
[Asm] 纯文本查看 复制代码

#NoTrayIcon ;隐藏托盘图标
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=favicon.ico
#AutoIt3Wrapper_outfile=自动移动鼠标防止进入屏保.exe
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
;仅允许只有一个脚本运行
$g_szVersion = "自动移动鼠标防止进入屏保"
If WinExists($g_szVersion) Then Exit ; 如果此脚本已经运行,则自动退出新运行的程序
AutoItWinSetTitle($g_szVersion) ;设置脚本标题
; 下面是脚本的其它代码
While 1 ;载入内存
$pos = MouseGetPos() ;获取当前鼠标位置到变量pos
Sleep(10)
MouseMove($pos[0]+1,$pos[1],0)
MouseMove($pos[0],$pos[1],0);移动鼠标指针到获取的坐标上,速度为0(最快)
Sleep(49990) ;50秒后重复运行
WEnd

代码更新日志:
1.完善了每段代码的解释,可以让爱好者清楚每段代码的作用,可以根据自己的需要进行适当的调整。
2.将脚本的标题按脚本名称设置,而不是“我的脚本”。之前我在另一个脚本使用同样的代码,导致两个脚本只能运行一个,现在不会出现这种问题了。
3.在移动鼠标指针时增加了向右移动1个像素,然后移动回来。这个是基于我在使用之前的代码时会出现仍然会进入屏保的现象,分析可能是这里的原因,将鼠标直接移动到原位置,是不是会被系统认为鼠标没有移动。
4.移动速度的值从1改为0,看帮助里,0是速度最快的。
附代码和小程序0.6版本下载地址:解压密码52pojie
https://cowtransfer.com/s/5d84cb16c95443

有兴趣的坛友可以继续往下看:
再公布一段我目前自己用的代码,整合了自动移动鼠标功能和自动点击TC登录窗口按钮的功能,当时在循环上遇到了一些困难,毕竟不是计算机专业,没有基础。如果有更好的写法,欢迎为我提供建议和帮助,在此表示感谢。
[Asm] 纯文本查看 复制代码

;zhaopengsoft开机自动启动
#NoTrayIcon ;隐藏托盘图标
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_Icon=favicon.ico
#AutoIt3Wrapper_OutFile=ZPSoft.exe
#AutoIt3Wrapper_UseUPX=n
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
;仅允许只有一个脚本运行
; 请置于脚本顶部
$g_szVersion = "ZPSoft"
If WinExists($g_szVersion) Then Exit ; 此脚本已经运行了
AutoItWinSetTitle($g_szVersion)
; 下面是脚本的其它代码
$i = 0
While 1
If WinExists("Total Commander", "注册信息") Then ;查找启动窗口
$text = WinGetText("Total Commander", "注册信息") ;获取启动窗口的文本
$firsttext = StringLeft($text, 1) ;找到第一个文本
WinActivate("Total Commander", "注册信息") ;激活启动窗口
$controlid = "[CLASS:Button; INSTANCE:" & 4 - $firsttext & "]" ;设置要点击的控件ID(控件1、2、3对应文本3、2、1)
ControlClick("Total Commander", "注册信息", $controlid) ;点击第一个文本对应的按钮,或者按对应的快捷按键也可以实现
EndIf
Sleep(1000)
if $i < 50 Then
$i = $i + 1
EndIf
If $i = 50 Then
$pos = MouseGetPos() ;获取当前鼠标位置到变量pos
MouseMove($pos[0], $pos[1]+1, 0)
MouseMove($pos[0], $pos[1], 0) ;移动鼠标指针到获取的坐标上,速度为0(最快)
$i = 0
EndIf
WEnd

代码说明:
1.这段代码是合并了两个脚本的功能,成为一个程序文件,设置在开机时启动这一个程序就可以了。以后如果还需要其它功能的话,还可以往里面拓展。
2.功能1:每隔1秒钟检测是否存在TC的启动窗口,如果存在,则自动点击提求文本对应的控件按钮。
3.功能2:每隔50秒钟自动移动鼠标,防止进入屏保。
鉴于这个脚本不是单功能模块,使用的人应该不多,所以就不给大家放下载地址了,可以根据我的思路自行拓展。
或者大家有什么需要的功能,咱们一起探讨怎样来实现。

____________________________________________________________________________________________________________________
【2023/02/01更新】
看到有的网友说软件在运行时被自动清理掉了,这是因为代码在编译成exe文件后运行时会释放文件然后执行,这个原理容易被一些杀软误报为木马或病毒类。
解决方法有两个,一是把程序所在路径设置为白名单,如果内网限制不能设置白名单的话,还可以使用第二个方法,即用autoit3.exe+代码编译成.a3x格式,这种方式运行就不会被杀软误报。所需文件可以在官网下载,然后按我源代码编译一下,或直接下载我编译好的文件,链接。https://cowtransfer.com/s/2b8934b4b77740 [ 自动移动鼠标防止进入屏保(exe+a3x).zip ]
或访问奶牛快传 cowtransfer.com 输入传输口令 tm7epw
使用方法:
解压缩后会出现三个文件,修改快捷方式里的起始位置为你当前程序所在路径,然后将快捷方式复制到启动文件夹中。双击快捷方式即可正常运行,下次重启计算机后会自动运行。

正文完
 0
116博客
版权声明:本篇文章由 116博客 于2024-11-28发表,共计3888字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码