【clswindow框架应用】自动移动鼠标避免锁屏,鼠标随机移动防止锁屏、待机、休眠

简介: 【clswindow框架应用】自动移动鼠标避免锁屏,鼠标随机移动防止锁屏、待机、休眠

电脑默认一段时间会关闭监视器或者硬盘,即便设置电源都选择从不也好像不太好使,导致远程的时候时常出问题,比如qq自动远程协助没反应。于是我想到用vb写一个小工具不停的移动鼠标,让电脑以为一直有人在使用,这样就不会锁屏或者待机了。

image.png

原理就是使用windows的api函数移动鼠标,本案例是基于clswindow开发的,这个是vb下的一个框架,主要是用于控制第三方程序的。主要代码:

Private Sub Command1_Click()
    Dim w As New clsWindow
    Randomize
    Do
        x1 = Screen.Width / 15 * Rnd
        y1 = Screen.Height / 15 * Rnd
        w.SetCursor x1, y1 '随机移动到屏幕内任意一个点
        w.Wait 5000 '等待5秒钟
    Loop
End Sub

花样搞多点,随机画圆、画线啥的:

Option Explicit
Dim isDraw As Boolean
Private Sub Command1_Click()
    Command1.Enabled = False
    Command2.Enabled = True
    isDraw = True
    Dim w As New clsWindow
    Dim i%
    Randomize
    Do While isDraw
        If Int(Rnd * 100) Mod 2 = 0 Then
            drawACircle
        Else
            DrawALine
        End If
        w.Wait Val(Text1.Text) * 1000 '等待N秒钟
    Loop
    Command1.Enabled = True
    Command2.Enabled = False
End Sub
'随机画个圆
Private Sub drawACircle()
    Dim w As New clsWindow
    Dim x As Double, y As Double
    Dim sW&, sH&
    Dim k As Single
    Dim R As Double
    sW = Screen.Width \ 15
    sH = Screen.Height \ 15
    Const pi As Single = 3.14159
    Randomize
    x = (sW - 300) * Rnd + 300
    y = (sH - 500) * Rnd + 500
    R = sH * Rnd + sH / 4
    Me.Caption = R
    Do While k < 2 * pi
        w.SetCursor Cos(k) * R / 4 + x, Sin(k) * R / 4 + y, , , 5
        k = k + pi / 180
        DoEvents
    Loop
End Sub
'随机画根线
Private Sub DrawALine()
    Dim w As New clsWindow
    Dim x1&, y1&, xPad&, yPad&, lngWidth&, i&, intRndType%, intRndType2%
    Dim sW&, sH&
    sW = Screen.Width \ 15
    sH = Screen.Height \ 15
    Randomize
    x1 = sW * Rnd
    y1 = sH * Rnd
    xPad = IIf(x1 > sW / 2, -1, 1)
    yPad = IIf(y1 > sH / 2, -1, 1)
    lngWidth = sH * Rnd / 2 + sH / 4
    intRndType = Int(Rnd * 2)
    intRndType2 = Int(Rnd * 2)
    For i = 1 To lngWidth
        If intRndType = 0 Then
            If intRndType2 = 0 Then
                x1 = x1 + xPad
            Else
                y1 = y1 + yPad
            End If
        Else
            x1 = x1 + xPad
            y1 = y1 + yPad
        End If
        w.SetCursor x1, y1
        w.Wait 5
    Next
End Sub
Private Sub Command2_Click()
    isDraw = False
End Sub

clswindow使用手册:07 随机移动鼠标防锁屏 · clsWindow · 看云

如果不懂vb或者不懂编程的小伙伴可以直接到下面的github下载,里面的exe是编译好的,可直接运行。

完整工程打包下载:GitHub - sysdzw/PreventLockScreen: 定时让鼠标随机移动,Prevent lock screen 防止电脑自动锁屏,防止电脑休眠,防止电脑待机,

image.png


目录
相关文章
|
Shell
VBS控制鼠标移动和点击(附源代码下载)
森思:想用vbs来控制鼠标的移动和点击,虽然按键精灵可以做到,但做这么简单的事情不想启动那么大一个程序,所以自己用VC写了一个小程序,可以让VBS来控制鼠标移动和点击。 用法: 移动鼠标到桌面坐标200,50的vbs命令如下: CreateObject("WScript.
4896 0
|
Linux 数据安全/隐私保护 C语言
新手向导:轻松离线搭建最新版OpenVPN(含一键安装脚本)
OpenVPN 是常用的虚拟私有网络工具,通过 Docker 搭建非常简单。但常用的 kylemanna/openvpn 镜像已三年未更新,停留在 OpenVPN 2.4 版本。为了升级到最新版本(如 2024 年 2 月发布的 v2.6.9),可以通过官方开源社区获取最新安装包并手动编译安装。步骤包括安装依赖、下载并编译 OpenSSL 和 OpenVPN、生成证书和配置文件等。此外,GitHub 上有一键安装脚本 openvpn-install.sh,简化了安装过程,但其版本可能不是最新的。安装完成后,还需配置 iptables 以确保客户端能正常使用代理网络。
17100 1
|
Linux iOS开发 MacOS
谷歌浏览器中的谷歌翻译失效了?如何解决谷歌翻译不响应问题?
本文分析了谷歌翻译在谷歌浏览器中失效的原因,并提供了针对Mac OS、Windows和Linux系统的解决方案,包括下载和执行特定软件以修复翻译服务不响应的问题。
3583 0
谷歌浏览器中的谷歌翻译失效了?如何解决谷歌翻译不响应问题?
|
Java BI 调度
Springboot项目中定时任务的四种实现方式
Springboot项目中定时任务的四种实现方式
3311 4
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
|
人工智能 缓存 API
[译][AI OpenAI-doc] 错误代码
本指南包括关于您可能从 API 和我们官方的 Python 库中看到的错误代码的概述。概述中提到的每个错误代码都有一个专门的部分,提供进一步的指导。
1778 5
|
JavaScript 前端开发 数据处理
js常用的循环数组对象方法以及应用场景
【4月更文挑战第4天】在JavaScript中,遍历数组和对象有多种方法,如for、for...of、forEach、map、filter等。for循环适用于需要控制循环次数和索引的场景,for...of适用于仅需元素值的情况,forEach适合函数式编程,map用于数组转换,filter则用于筛选元素。对象循环可使用for...in遍历所有可枚举属性,Object.keys和Object.values分别获取键名和值进行遍历。这些方法在处理数据、筛选、转换等方面有广泛应用,应根据场景选择合适的方法以提高代码效率和可读性。
590 3
|
算法 架构师 安全
需求分析和常见的需求问题解决
需求分析和常见的需求问题解决
112396 17
|
弹性计算 监控
阿里云 历史服务器怎么查看
【1月更文挑战第15天】【1月更文挑战第74篇】阿里云 历史服务器怎么查看
898 5