Начну с того, что я конкретно хочу сделать: Иногда совсем не хочется вставать с кровати но при этом вырубить монитор здесь и сейчас. Я хочу сделать маленькую программу, которая выключает монитор при запуске и включает его по нажатию ЛЮБОЙ клавиши на клавиатуре, но запретит включание по ивентам мышки.
Собственно, код выключания/включания монитора есть:
private int SC_MONITORPOWER = 0xF170;
private uint WM_SYSCOMMAND = 0x0112;
[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
enum MonitorState
{
ON = -1,
OFF = 2,
STANDBY = 1
}
private void SetMonitorState(MonitorState state)
{
Form frm = new Form();
SendMessage(frm.Handle, WM_SYSCOMMAND, (IntPtr)SC_MONITORPOWER, (IntPtr)state);
}
Ну и само использование:
SetMonitorState(MonitorState.OFF);
SetMonitorState(MonitorState.ON);
Вся проблема в том, что ЛЮБОЕ нажатие клавиши или шевеление мышкой монитор включает обратно.
У меня есть 2 предположения куда можно смотреть:
То есть вопроса два:
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники