• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

Tolias

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

P.S. Пишу прогу на C#.
 
Для оконного 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);
}
}
Подробности можно найти
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab