gpt4 book ai didi

windows - 一旦被电源设置关闭,如何唤醒我的 Windows 显示器?

转载 作者:可可西里 更新时间:2023-11-01 09:27:08 28 4
gpt4 key购买 nike

所以我的 Vista 机器设置为在 10 分钟后关闭显示器。 (注意:机器没有挂起或休眠)

我有一个 .Net 应用程序正在运行,它需要在指定时间“唤醒”系统。作为人类,您只需移动鼠标或按下一个键。我如何以编程方式执行此操作?

我试过:以编程方式设置光标;使用“发送键”;甚至调用 CreateWaitableTimer 取消挂起(即使它没有挂起),希望这会触发某些事情。

理想情况下,使用 C# 编写的代码会很棒,但正确的 Win API 就足够了。

非常感谢。

最佳答案

您应该能够通过发送系统命令消息来控制显示器电源,如下所示。请注意,这是在 XP 上测试的,Vista 可能会有所改变,因此您需要对其进行测试并告知我们。

此代码在 VB 中,但您可以看到它使用的 Win32 API 调用。您需要将窗口句柄传递给该函数,以便您的代码需要创建一个窗口来处理消息(只需将其传递给默认窗口处理函数)。

Const SC_MONITORPOWER As Integer = &HF170
Const WM_SYSCOMMAND As Short = &H112S
Private Function SendMessage(
ByVal Handle As Int32,
ByVal wMsg As Int32,
ByVal wParam As Int32,
ByVal lParam As Int32) As Int32
End Function
Sub MonStandBy(hWnd as Int32)
SendMessage(hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, 1)
End Sub
Sub MonOff(hWnd as Int32)
SendMessage(hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, 2)
End Sub
Sub MonOn(hWnd as Int32)
SendMessage(hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, -1)
End Sub

关于windows - 一旦被电源设置关闭,如何唤醒我的 Windows 显示器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/332649/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com