防止 PowerShell 中的空闲模式
Rohan Timalsina
2023年1月30日
PowerShell 是一个强大的工具,可以自动执行系统中的各种任务。当你在计算机上进行重要工作时,桌面锁定或空闲模式可能会令人不安。
如果不在计算机前,防止系统进入空闲模式会容易得多。本教程将介绍多种使用 PowerShell 自动防止空闲模式的方法。
使用 SendKeys
方法通过 PowerShell 防止空闲模式
SendKeys()
方法将击键和击键组合发送到活动应用程序。
$WShell = New-Object -Com "Wscript.Shell"
while (1) {$WShell.SendKeys("a"); sleep 60}
在上面的脚本中,第一个命令创建了一个 Wscript.Shell
对象,第二个命令创建了一个无限循环,其中每分钟按下一次键 a
。因此,它将防止系统的桌面锁定或屏幕超时。
你应该使用在活动应用程序中没有任何操作的密钥。或者,你可以打开诸如记事本
之类的文本编辑器来输出键,而不是使 Windows 输入缓冲区过载。
你还可以在有限的时间内运行脚本,而不是无限期地运行该脚本。以下脚本发送密钥。
每分钟 1 小时,以防止桌面锁屏。
param($minutes = 60)
$myshell = New-Object -com "Wscript.Shell"
for ($i = 0; $i -lt $minutes; $i++) {
Start-Sleep -Seconds 60
$myshell.sendkeys(".")
}
使用 PowerShell 移动鼠标以防止空闲模式
我们都知道鼠标光标的移动会阻止系统进入空闲或睡眠模式。我们将使用 PowerShell 每隔 n
秒自动移动一次鼠标。
以下脚本每 5 秒从当前位置移动一次鼠标光标。
Add-Type -AssemblyName System.Windows.Forms
while ($true)
{
$Pos = [System.Windows.Forms.Cursor]::Position
$x = ($pos.X) + 1
$y = ($pos.Y) + 1
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y)
Start-Sleep -Seconds 5
}
作者: Rohan Timalsina