自己动手编写 Windows 防止锁屏脚本程序

这篇具有很好参考价值的文章主要介绍了自己动手编写 Windows 防止锁屏脚本程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景介绍

有些公司出于安全和保密工作考虑,会通过 Windows 组策略强制所有办公电脑在无操作的情况下 5 分钟或者 10 分钟自动锁屏,避免无关人士看到不该看的内容。作为程序员,十分反感这种一刀切的方案,一来很容易打断思路,比如正在写代码或者向别人展示时,突然锁屏了就挺恶心的;二来每次锁屏后都要输入密码,这简直就是浪费生命,不能忍!

为了解决这个问题,我们可以编写一个简单的 vbs 脚本,在锁屏周期内模拟按键操作,从而避免 Windows 桌面被锁屏。之所以使用 vbs 脚本,而不是 Python、JavaScript 等更流行的高级语言,主要是因为这个程序的需求特别简单,而且 vbs 脚本可以在 Windows 系统中直接运行,不需要安装任何依赖。

脚本程序

下面给出两个脚本,你可以将它们命名为 never_lock.vbs 文件(先在 Windows 系统新建一个 txt 文本文件,粘贴代码,然后修改文件名)。

【复杂版本】

Set ws=Wscript.CreateObject("Wscript.Shell")
If ws.expandenvironmentstrings("%strikkeyflag%")=("on")Then
    wscript.echo("Screen Never Lockout")
    ws.Environment("user").Item("strikkeyflag")="off"
    set mi=getobject("winmgmts:win32_process").instances_
    for each p in mi
        if ucase(p.name)=ucase("wscript.exe")then
            p.terminate
        End If
    Next
    wscript.quit
Else
    wscript.echo("Screen Never Lockout")
    ws.Environment("user").Item("strikkeyflag")="on"
    do
        set WshShell = CreateObject("WScript.Shell")
        WshShell.SendKeys"{ScrollLock}"
        wscript.sleep(280000) 'ms
    Loop
end if

【简单版本】

'先定义一个Shell对象
Set WshShell = WScript.CreateObject("WScript.Shell")

'设置成正需要接续的时间
do
'设置成比屏保时间短点就可以
    WScript.Sleep 60000 '1min 60000ms
    WshShell.SendKeys "{ScrollLock}"
loop

在 Windows 系统中双击 never_lock.vbs 脚本,即可运行。

如需停止脚本,可以按 Ctrl + Shift + Esc 键打开任务管理器,找到 Microsoft ® Windows Based Script Host,结束任务即可。

工作原理

你应该已经猜到,never_lock.vbs 脚本的工作原理就是通过定时按一次 Scroll Lock 键,让系统认为一直有人为操作,只要定时时间在锁屏周期以内,就可以达到避免锁屏的效果。

Scroll Lock 即“滚动锁定键”,是一个现存于大部分键盘上的按键,通常附有一个指示按键开关情况的灯号。这个按键曾经用来锁定所有软件的滚动功能,但已不为现今大部分软件所使用。因为这个按键已经不常用,所以部分键盘(例如笔记本)已经移除了这个键。不过系统还是保留了 Scroll Lock 按键的定义,因此我们可以借助这个没什么用的按键完成防止锁屏的功能,不会对系统造成任何影响。文章来源地址https://www.toymoban.com/news/detail-503566.html

到了这里,关于自己动手编写 Windows 防止锁屏脚本程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows系统编写bat脚本启动,停止,重启Java服务jar包

    创建一个以bat后缀结束的文件,写入一下代码: 在Windows系统上面创建 start.bat 启动jar包脚本编辑以下内容: 给窗口命名:“jeeplus-gateway”,如果是微服务的话方便查看 在Windows系统上面创建 stop.bat 停止jar包脚本编辑以下内容: 重启jar包就是将两个合并到一起: 双击 bat文件 确

    2024年02月03日
    浏览(73)
  • 自己编写小程序背日语50音图

    简而言之呢就是最近心血来潮打算自学日语,学日语自然就要先从50音图开始,就是下面这个: 可以看出来50音图横向是按照a i u e o这5个元音顺序,纵向按照a ka sa ta na ha ma ya ra wa 的顺序排布的。按顺序编排自然是为了方便记忆,但是也容易按照顺序能背出来,打乱顺序是否

    2024年02月06日
    浏览(41)
  • Gitbook----基于 Windows 10 系统本地安装配置 Gitbook 编写属于自己的电子书

    查看原文 若要在 Windows 10 系统即本地使用 Gitbook,需要安装 gitlab-cli 工具,而 gitbook-cli 工具是基于 Nodejs的,因此首先需要安装 Nodejs 如果是初学者,可以参考 Nodejs----基于 Windows 10 系统安装 Nodejs 安装 Nodejs,这里需要注意,本文验证过安装 16.20.1 版本的 Nodejs是可以的,因此这

    2024年02月04日
    浏览(42)
  • shell 编写一个带有进度条的程序安装脚本

    使用 shell 写一个 软件安装脚本,带有进度条 在这个示例中,使用 ANSI 转义序列来实现覆盖原来的打印信息,并保持进度条在同一行显示。通过使用 r 进行回车,然后使用 \\033[K 清除当前行的内容,可以实现覆盖效果。 在 print_progress 函数中,首先清除当前行的内容,然后构

    2024年02月11日
    浏览(48)
  • 【go项目-geecache】动手写分布式缓存 - day6 - 防止缓存击穿

    【go项目-geecache】动手写分布式缓存 - day1 - 实现LRU算法 【go项目-geecache】动手写分布式缓存 - day2 - 单机并发缓存 【go项目-geecache】动手写分布式缓存 - day3 - HTTP 服务端 【go项目-geecache】动手写分布式缓存 - day4 - 一致性哈希(hash) 【go项目-geecache】动手写分布式缓存 - day5 - 分布

    2023年04月20日
    浏览(41)
  • History命令解释,及一个相关的bash脚本(如何编写脚本程序从记录文件中提取history命令)

    目                录 一、history命令介绍 1、history命令是什么? 2、history的主要功能 二、history命令的用法 1、语法 2、选项说明 3、命令实例 三、history和历史记录文件bash_history 四、history命令的相关配置 1,命令带时间展示-HISTTIMEFORMAT 2,命令行数大小-HISTSIZE 3、设置命令保

    2024年01月23日
    浏览(86)
  • 使用 Google 的 zx 库编写切换微信小程序环境的脚本

    微信小程序目前为止还没有提供API或者具体的配置方式,给我们设置环境变量,所以还得自己想办法。 创建一个 shell 脚本——一个由诸如 Bash 或 zsh 之类的 shell 执行的脚本——可以是自动化重复任务的好方法。Node.js 似乎是编写 shell 脚本的理想选择,因为它为我们提供了许

    2024年02月16日
    浏览(44)
  • 【Java基础】如何优雅的使用VS Code编写Java程序,并将自己的bug托管到GitHub上

    通常,编写Java程序的首选ide是Eclipse或者IntelliJ IDEA,它们对于Java大型项目友好度是其他ide难以企及的,但如果只是为了算法练习,或者是Java基础语法的学习,其实 VS Code 也是一个不错的选择,下面展示如何在 VS Code 上编写Java程序。 首先,保证自己的电脑上有jdk环境,如果还

    2023年04月12日
    浏览(56)
  • 自己动手写一个加载器

    当在 linux 命令行中 ./ 运行一个程序时,实际上操作系统会调用加载器将这个程序加载到内存中去执行。为了探究加载器的行为,今天我们就自己动手写一个简单的加载器。 加载器的工作原理: 从磁盘读取 bin 文件到内存,(bin 文件包含的是 CPU 可以直接执行的指令) 跳转到

    2024年02月05日
    浏览(48)
  • 解决Windows Server远程断开后自动锁屏问题

    大家基本都用过桌面版的Windows,假如我临时有事,把显示器的屏幕电源关掉了,这个操作对我我正在运行的windows桌面有什么影响呢?答案是没有任何影响,你走之前桌面是什么样,关闭显示器后它还会一直保持什么样,关闭显示器这个操作只是让你看不到桌面了而已。当然

    2023年04月25日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包