如何使用VBscript防止XP机器的自动锁定功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用VBscript防止XP机器的自动锁定功能相关的知识,希望对你有一定的参考价值。

机器在自动化脚本运行时被锁定,这是因为不同脚本之间存在很长的间隔(由于某些原因,这是必需的)。我想避免这种自动锁定功能。问题是,根据安全策略,我们无法从控制面板禁用此功能。有没有其他方法可以保持系统解锁?

答案

我认为你可以通过定期发送按键来停止锁定,所以我建议你看看WScript.SendKeys。然后把它放在一个睡眠循环中,让它定期发送。

请注意您发送的密钥,这样您就不会影响其他任何密钥。

另一答案

我这样做了......它快速发送2个SCROLLLOCK键,所以它不会干扰(好吧,不管怎么说都不严重)任何应用程序。它每隔60秒就会这样做....干杯!

set wsc = CreateObject("WScript.Shell")
Do
WScript.Sleep (60*1000)
wsc.SendKeys ("{SCROLLLOCK 2}")
Loop
另一答案

我用了一对文件......

第一个文件(Keep_Awake__start.vbs)保持唤醒/解锁状态。当您想要返回正常过程时,第二个文件(Keep_Awake__end.vbs)可以方便地终止该过程。

第一个文件......

' Keep_Awake__start.vbs
' Graham Edwards

' Typical stored in Start Menu 
'
' Use Keep_Awake__start.vbs to keep the computer from inactivity-based lockouts.
' Use Keep_Awake__end.vbs to remove Keep_Awake__start.vbs

' Largely pulled from st0le response
' Http://stackoverflow.com/questions/4457907/how-to-prevent-auto-locking-feature-of-an-xp-machine-using-vbscript

' --- Define Object
    set wsc = CreateObject("WScript.Shell")

' --- Loop every so many minutes and change the scroll lock setting 
    Do
        ' Wait for ~2 minutes
        WScript.Sleep (2*60*1000)
        wsc.SendKeys ("{SCROLLLOCK 2}")
    Loop

第二个档案......

' Keep_Awake__end.vbs
' Graham Edwards

' Use Keep_Awake__start.vbs to keep the computer from inactivity-based lockouts.
' Use Keep_Awake__end.vbs to remove Keep_Awake__start.vbs

' Largely pulled from Ansgar Wiechers response
' http://stackoverflow.com/questions/22324899/kill-a-vbscript-from-another-vbscript

' --- Define Object
    Set wmi = GetObject("winmgmts://./root/cimv2")

' --- Search and Destroy
    qry = "SELECT * FROM Win32_Process WHERE Name='wscript.exe' AND NOT " & _
    "CommandLine LIKE '%" & Replace(WScript.ScriptFullName, "", "\") & "%'"

    For Each p In wmi.ExecQuery(qry)
      p.Terminate
    Next

' --- Clean up
    Set wmi = Nothing ' Release the Application object

这些文件既可以从常规文本编辑器创建,也可以存储在任何地方(如桌面)。使用.vbs文件扩展名保存文件后,该文件是可执行文件。因此,您只需双击文件图标即可开始或结束(取决于您双击哪个文件)。

您可以将Keep_Awake__start.vbs存储在Windows Startup文件夹中,以便在您登录后立即启动。

另一答案

最简单的解决方案是打开mp3或视频文件并在Windows媒体播放器中连续播放(使用重复功能并将播放器中的音量静音)。通过这种方式,屏幕保护程序永远不会到来或系统永远不会锁定。

另一答案

如果这是在运行自动化套件时,则使用自动化套件每隔一段时间做一次鼠标抽搐。我发现效果很好的是如果你有自己的自定义睡眠功能,并且作为睡眠功能的一部分,你会抽搐鼠标。用于脚本之间的长时间间隔。

另一答案

使用以下VB脚本代码保持机器解锁:

Set objShell = CreateObject("WScript.Shell")
objShell.RegWrite "HKEY_CURRENT_USERSoftwarePoliciesMicrosoftWindowsControl PanelDesktopScreenSaverIsSecure", "0" , "REG_SZ"
Wscript.Echo "Your machine remains unlocked"

干杯!!

另一答案

我已经尝试了shell脚本并使用任务计划程序安排鼠标移动的模拟 - 但是我发现这是最好的。 +1简洁。它会自动将鼠标移动到移动的像素,因此屏幕不会自动锁定(尽管您可以根据需要配置此选项)

参考:Auto Mouse Mover - http://www.murgee.com/auto-mouse-mover/

另一答案
Set wshShell =wscript.CreateObject("WScript.Shell")
do
  wscript.sleep 55000
  wshshell.sendkeys "{SCROLLLOCK}"
loop

我们可以使用此代码来防止窗口再次解锁。

另一答案

我这样做了

(外部循环=声明变量)

'For 64 bit Excel.
Private Declare PtrSafe Function SetCursorPos Lib "user32" _
                        (ByVal x As Long, _
                        ByVal y As Long) As Long
Private Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

'For 32 bit Excel.
Private Declare Function SetCursorPos Lib "user32" _
                        (ByVal x As Long, _
                        ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long


 ' default variable
 private mousecounter as integer

(内部程序)

Dim llCoord As POINTAPI
Dim activeXMousePos As Integer
Dim activeYMousePos As Integer

GetCursorPos llCoord
activeXMousePos = llCoord.Xcoord
activeYMousePos = llCoord.Ycoord

(内循环):

        If mousecounter <= 2 Then
            SetCursorPos activeXMousePos - 1, activeYMousePos - 1
            mousecounter = mousecounter + 1
        End If

        If mousecounter > 2 Then
            SetCursorPos activeXMousePos + 2, activeYMousePos + 2
            mousecounter = 0
        End If

所以 - 基本上这个代码移动鼠标1 px leftup和1 px rightdown lor每个循环间隔。您可以声明任何其他值,但我发现此鼠标移动不会打扰用户。

以上是关于如何使用VBscript防止XP机器的自动锁定功能的主要内容,如果未能解决你的问题,请参考以下文章

如何使用内部 Windows XP 选项在 VBScript 中解压缩文件

如何去除 windows server 2012 r2 自动锁定

windows server 开机自动登录并锁定

XP远程桌面连接提示指定无效连接文件

通过应用程序的 plist 文件防止 iPhone 自动锁定

使用 xcode 安装应用程序时如何允许 iPhone 自动锁定?