【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


目录
相关文章
|
调度
MacBookPro外接显示器程序全屏状态,另一个显示器就黑屏
MacBookPro外接显示器程序全屏状态,另一个显示器就黑屏
618 0
MacBookPro外接显示器程序全屏状态,另一个显示器就黑屏
|
11月前
|
Windows
【笔记本解决触摸板手势失效的办法】
【笔记本解决触摸板手势失效的办法】
307 1
【笔记本解决触摸板手势失效的办法】
|
Java Android开发
Android 7.1 导航栏增加按键, 关机菜单增加休眠选项
Android 7.1 导航栏增加按键, 关机菜单增加休眠选项
125 0
Android 7.1 导航栏增加按键, 关机菜单增加休眠选项
|
小程序 C++
【一个整蛊人的小程序】c++,鼠标控制
【一个整蛊人的小程序】c++,鼠标控制
|
移动开发 数据可视化 前端开发
解决安卓收起键盘无法触发失焦事件的问题
解决安卓收起键盘无法触发失焦事件的问题
967 0
|
Windows
模拟鼠标键盘操作(硬件模拟)
3.驱动级模拟(硬件模拟)  如果上面的方法你都试过了,可是你发现目标程序却仍然顽固的不接受你模拟的消息,寒~~~~~~~~~还好,我还剩下最后一招,这就是驱动级模拟:直接读写键盘的硬件端口!  有一些使用DirectX接口的游戏程序,它们在读取键盘操作时绕过了windows的消息机制,而使用DirectInput.这是因为有些游戏对实时性控制的要求比较高,比如赛车游戏,要求以最快速度响应键盘输入。
4041 0
|
Android开发 开发者
Android设备屏幕锁定/解锁/屏幕点亮监听
Android设备屏幕锁定/解锁/屏幕点亮监听 Android屏幕锁定,解锁,开屏比较常用,故抽象成一个公共的DeviceScreenListener。
1492 0
|
Android开发
安卓系统定制:让机器永不休眠并且没有锁屏界面
frameworks/base/packages/SettingsProvider/res/values/defaults.xml中修改def_screen_off_timeout为-1   frameworks/base/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.
1263 0