我有64位的Windows 10,我花了很多时间在屏幕后面编程。我需要不时休息一下,并通过使屏幕变黑来限制屏幕光线/辐射与我的头部碰撞好像关掉了。
我能做的就是掉到登录界面,但我需要看到黑色才能放心!我真正希望实现的是你在不活动时获得的黑屏。可以通过编程方式进行吗?
这是我到目前为止的代码:
#include <Windows.h>
#define KEY_DOWN(key) ((::GetAsyncKeyState(key) & 0x80000) ? 1 : 0)
#define KEY_UP(key) ((::GetAsyncKeyState(key) & 0x80000) ? 0 : 1)
int main(void)
{
// Hide the console window
HWND hWnd;
AllocConsole();
hWnd = FindWindowA("ConsoleWindowClass", NULL);
ShowWindow(hWnd, 0);
//Press ctrl + alt + 'L' to lock / Press ctrl + 'E' to terminate the program
while (1)
{
if (::GetAsyncKeyState('L') == -32767)
{
if (KEY_DOWN(VK_CONTROL) && KEY_DOWN(VK_MENU))
LockWorkStation();
}
if (::GetAsyncKeyState('E') == -32767)
{
if (KEY_DOWN(VK_CONTROL))
return 0;
}
}
return 0;
}
答案 0 :(得分:5)
使用SC_MONITORPOWER
消息的WM_SYSCOMMAND
参数关闭显示器:
SendMessage(handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
第四个参数的参数2
关闭监视器。
另见https://msdn.microsoft.com/en-us/library/windows/desktop/ms646360(v=vs.85).aspx