繁体   English   中英

Windows OS的电源选项或注册表中的屏幕唤醒设置?

[英]Screen wake up settings in power options or registry for windows OS?

指定的时间后,有什么方法可以唤醒屏幕? 我找到了一个可以启用或禁用或仅重要唤醒时间的选项。 有什么方法可以指定屏幕唤醒时间吗? 在此处输入图片说明 附件

任何帮助请。 如果有任何机会通过Powershell或其他脚本编写也可以。

{{powercfg.exe -change -monitor-timeout-dc 1
 powercfg.exe -change -monitor-timeout-ac 1

这样,我想通过powershell进行任何更改。

Powershell脚本可在特定时间唤醒监视器。 在Windows 10上测试

$Signature = @"
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);

[DllImport("user32.dll")]
public static extern void mouse_event(Int32 dwFlags, Int32 dx, Int32 dy, Int32 dwData, UIntPtr dwExtraInfo);
"@

Try {
$ShowWindowAsync = Add-Type -MemberDefinition $Signature -Name "Win32ShowWindowAsync" -Namespace Win32Functions -PassThru -ErrorAction Ignore }
Catch { }

$MONITOR_ON = -1;
$MONITOR_OFF = 2;
$MONITOR_STANBY = 1;

[datetime]$WakeUpTime = "02-26-2019 09:40:00 PM" # Set your Wakeup time MM/dd/yyyy hh:mm:ss"

[System.Int64]$MOUSEEVENTF_MOVE = 0x0001;

[System.IntPtr]$HWND_BROADCAST = New-Object System.IntPtr(0xffff)
[System.UInt32]$WM_SYSCOMMAND = 0x0112
[System.IntPtr]$SC_MONITORPOWER = New-Object System.IntPtr(0xF170)

$ShowWindowAsync::SendMessage($HWND_BROADCAST, $WM_SYSCOMMAND, $SC_MONITORPOWER, [System.IntPtr]$MONITOR_OFF);

$Wait = $true

While($Wait)
{
    If((Get-Date) -ge $WakeUpTime)
    {
        $ShowWindowAsync::mouse_event($MOUSEEVENTF_MOVE, 0, 1, 0, [System.UIntPtr]::Zero);
        $wait = $false
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM