日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

VBScript編寫Windows防止鎖屏腳本程序_vbs

作者:阿基米東 ? 更新時間: 2022-07-15 編程語言

背景介紹

有些公司出于安全和保密工作考慮,會通過 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://blog.csdn.net/lu_embedded/article/details/124689843

欄目分類
最近更新