我已经在使用一些代码来关闭显示器电源,但我仍然遇到了一个小问题。
该代码大部分时间都可以正常工作,但偶尔,显示器会变成空白。我的意思是屏幕是全黑的,你看不到任何东西,但你可以看到它仍然亮着。 LCD 灯仍然亮着,但屏幕完全黑了。
我不知道为什么会发生这种情况,也许有些人知道为什么...如果我将 Windows Power 设置设置为在 X 分钟后关闭显示器,这将永远不会发生,但我需要一个应用程序来执行此操作,以便我可以随时用快捷方式调用它。
我使用的代码是这样的:
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);
const int WM_SYSCOMMAND = 0x0112;
const int SC_MONITORPOWER = 0xF170;
const int HWND_BROADCAST = 0xFFFF;
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
有什么想法吗?
最佳答案
您不希望将该消息广播到所有窗口。您依赖他们中的每一个来按照您的期望来处理它。
您需要创建自己的并只向其发送消息,以便您可以控制行为。
Raymond Chen 这篇文章的评论中有一些解决方案:http://blogs.msdn.com/oldnewthing/archive/2006/06/13/629451.aspx
关于c# - 如何在 C# 中正确关闭显示器电源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/604727/