您可以创建一个扩展名为.ps1(powershell)的文件,例如“ sleep.ps1”,并编写以下代码:
Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)
当我正在运行某些东西并且不得不离开电脑并且不想将其关闭时,我会使用它。因此,我将脚本更改为如下所示:
$minutes = read-host "Enter minutes to wait until sleep";
$secs= 60*$minutes;
Start-sleep -s $secs
Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)
现在,当我运行它时,我只需输入要等到睡眠的分钟数即可。
您可以通过编写以下命令从cmd行运行
powershell -File C:\your-path\sleep.ps1
如果您以前从未运行过PowerShell脚本,则需要先运行
Set-ExecutionPolicy RemoteSigned
在PowerShell中启用脚本运行。这只需要运行一次。
rundll32.exe PowrProf.dll,SetSuspendState
不推荐。有危险。(因为它破坏堆栈,因为它并没有与函数签名符合要求的Rundll32
。那么不可预知的不好的事情可能发生,因为雷蒙德陈警告 ...)