• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы 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);
}
}
Подробности можно найти
 
Мы в соцсетях:

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