powershell鼠标移动不会阻止空闲模式

niv*_*voe 16 windows powershell sleep

在开始之前,这是我在PowerShell中编写的第一个小代码:)

[System.Windows.Forms.Cursor]::Position = `
    New-Object System.Drawing.Point($pos.X, ($pos.Y - 1))
[System.Windows.Forms.Cursor]::Position = `
    New-Object System.Drawing.Point($pos.X, $pos.Y)
Run Code Online (Sandbox Code Playgroud)

我想要实现什么?

好吧,我想每4分钟移动鼠标光标,以防止屏幕保护程序出现(上面代码中的每一秒进行测试).代码确实每次向上移动一个像素然后立即向下移动鼠标.问题是,屏幕保护程序(或Windows的空闲模式)仍然出现.

现在,我正在学习PowerShell,我对Windows体系结构的经验很少.

有人看到我的错误吗?我会很感激答案!:D提前谢谢.

And*_*rew 28

我也尝试了鼠标移动解决方案,但它同样不起作用。这是我的解决方案,每 4 分钟快速切换一次 Scroll Lock:

Clear-Host
Echo "Keep-alive with Scroll Lock..."

$WShell = New-Object -com "Wscript.Shell"

while ($true)
{
  $WShell.sendkeys("{SCROLLLOCK}")
  Start-Sleep -Milliseconds 100
  $WShell.sendkeys("{SCROLLLOCK}")
  Start-Sleep -Seconds 240
}
Run Code Online (Sandbox Code Playgroud)

我使用 Scroll Lock 是因为它是键盘上最无用的键之一。偶尔看到它短暂地闪烁也很高兴。我认为,这个解决方案应该适用于几乎所有人。

也可以看看:


JPB*_*anc 20

来自博客Prevent桌面锁定或PowerShell屏幕保护程序的解决方案对我有用.这是相关的脚本,它只向shell发送一个句点:

param($minutes = 60)

$myshell = New-Object -com "Wscript.Shell"

for ($i = 0; $i -lt $minutes; $i++) {
  Start-Sleep -Seconds 60
  $myshell.sendkeys(".")
}
Run Code Online (Sandbox Code Playgroud)

以及评论的替代方案,它将鼠标移动一个像素:

$Pos = [System.Windows.Forms.Cursor]::Position
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point((($Pos.X) + 1) , $Pos.Y)
$Pos = [System.Windows.Forms.Cursor]::Position
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point((($Pos.X) - 1) , $Pos.Y)
Run Code Online (Sandbox Code Playgroud)

  • 我在工作中使用它,安全策略会在五分钟后挂起您的会话;) (2认同)

小智 9

对此也有一个模拟解决方案。有一个名为“Timeout Blocker”的 Android 应用程序,当您将鼠标放在它上面时,它会按照设定的时间间隔振动。https://play.google.com/store/apps/details?id=com.isomerprogramming.application.timeoutblocker&hl=en