C++ 打开和关闭显示器

C++ 打开和关闭显示器,c++,winapi,C++,Winapi,我想,显示器将关闭,并在一段时间后,它将打开。但是显示器不想打开。我怎么了 HWND hwnd_monitor = FindWindow(0, 0); SendMessage(hwnd_monitor, WM_SYSCOMMAND, SC_MONITORPOWER, 2); Sleep(1000); SendMessage(hwnd_monitor, WM_SYSCOMMAND, SC_MONITORPOWER, -1); 您可以尝试移动鼠标,这将唤醒显示器。 以下是链接提供的解决方案: @P

我想,显示器将关闭,并在一段时间后,它将打开。但是显示器不想打开。我怎么了

HWND hwnd_monitor = FindWindow(0, 0);
SendMessage(hwnd_monitor, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
Sleep(1000);
SendMessage(hwnd_monitor, WM_SYSCOMMAND, SC_MONITORPOWER, -1);

您可以尝试移动鼠标,这将唤醒显示器。 以下是链接提供的解决方案:


@Philipp
hwnd\u monitor
的可能重复项是窗口句柄(
hwnd
),而不是“monitor handle”,因此不清楚为什么它会变得无效。
[DllImport("user32.dll")]
static extern void mouse_event(Int32 dwFlags, Int32 dx, Int32 dy, Int32 dwData, UIntPtr dwExtraInfo);

private const int MOUSEEVENTF_MOVE = 0x0001;

private void Wake(){
    mouse_event(MOUSEEVENTF_MOVE, 0, 1, 0, UIntPtr.Zero);
    Sleep(40);
    mouse_event(MOUSEEVENTF_MOVE, 0, -1, 0, UIntPtr.Zero);
}