• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Определить Выход Из Спящего Режима

  • Автор темы Tolias
  • Дата начала
T

Tolias

Как можно определить, что компьютер входит/выходит из спящего режима? Например, известная программа обмена быстрыми сообщениями QIP Infium перед переходом в спящий режим переводит все свои учетные записи в статус "Оффлайн". Как-то она определяет то, что система "пытается" уснуть, но только как?

P.S. Пишу прогу на C#.
 
L

LuMee

Для оконного WinForms-приложения можно переопределить WndProc примерно следующим образом:
Код:
public partial class Form1 : Form
{
const int WM_POWERBROADCAST = 0x218;
const int PBT_APMSUSPEND = 0x0004;
const int PBT_APMRESUMESUSPEND = 0x0007;

public Form1()
{
InitializeComponent();
}

protected override void WndProc(ref Message m)
{
if (m.Msg == WM_POWERBROADCAST)
{
if (m.WParam.ToInt32() == PBT_APMSUSPEND)
{
// Код, который нужно выполнить при засыпании
}
else if (m.WParam.ToInt32() == PBT_APMRESUMESUSPEND)
{
// Код, который нужно выполнить при пробуждении
}
}

base.WndProc(ref m);
}
}
Подробности можно найти
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!