1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

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

Тема в разделе ".NET - программирование", создана пользователем Tolias, 16 ноя 2011.

  1. Tolias

    Tolias Гость

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

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

    LuMee Well-Known Member

    Репутация:
    0
    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Для оконного 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);
    }
    }
    Подробности можно найти тут
     
Загрузка...

Поделиться этой страницей