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

在我开始之前,这里是我在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) 

我想达到什么目的?

那么,我想每4分钟移动鼠标光标,以防止出现屏幕保护程序(上面的代码中的每一秒进行testing)。 该代码确实每移动一个像素,然后立即下降鼠标。 事情是,屏幕保护程序(或窗口的空闲模式)仍然出现。

现在,我正在学习PowerShell,而我对Windows体系结构几乎没有经验。

有人看到我的错误吗? 我会很感激一个答案! :D在此先感谢。

使用PowerShell防止桌面锁定或屏保的博客解决方案正在为我工​​作。 下面是相关的脚本,它只是向shell发送一个单独的句点:

 param($minutes = 60) $myshell = New-Object -com "Wscript.Shell" for ($i = 0; $i -lt $minutes; $i++) { Start-Sleep -Seconds 60 $myshell.sendkeys(".") } 

并从注释中选择一种方法,将鼠标移动一个像素:

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

我也有类似的情况,需要下载一个下载活动,并需要一个关键刷新刷新我的连接。 我也发现鼠标移动不起作用。 但是,使用记事本和发送键功能似乎已经成功了。 我发一个空格而不是“。” 因为如果有[是/否]弹出窗口,它将自动使用空格键单击默认响应。 这里是使用的代码。

 param($minutes = 120) $myShell = New-Object -com "Wscript.Shell" for ($i = 0; $i -lt $minutes; $i++) { Start-Sleep -Seconds 30 $myShell.sendkeys(" ") } 

此功能将在指定的120分钟(2小时)内工作,但可以通过增加或减少输入的秒数或增加或减少分钟参数的分配值来修改所需的时间。

只需在PowerShell ISE或PowerShell中运行脚本,然后打开记事本即可。 空格将以指定的时间间隔输入所需的时间长度($分钟)。

祝你好运!

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

试试这个:(来源: http : //just-another-blog.net/programming/powershell-and-the-net-framework/ )

 Add-Type -AssemblyName System.Windows.Forms $position = [System.Windows.Forms.Cursor]::Position $position.X++ [System.Windows.Forms.Cursor]::Position = $position while(1) { $position = [System.Windows.Forms.Cursor]::Position $position.X++ [System.Windows.Forms.Cursor]::Position = $position $time = Get-Date; $shorterTimeString = $time.ToString("HH:mm:ss"); Write-Host $shorterTimeString "Mouse pointer has been moved 1 pixel to the right" #Set your duration between each mouse move Start-Sleep -Seconds 150 }