ПШвИ - ПЕРВЫЙ ШАГ в ИНТЕРНЕТ

МБОУ БСОШ №1 

Ваш IP: 44.200.169.3
  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта
ПУБЛИКАЦИИ / ПРОГРАММИРОВАНИЕ / Отслеживание выхода из спящего режима - Delphi

Отслеживание выхода из спящего режима - Delphi

Печать

Отслеживание выхода из спящего режима - Delphi

    procedure WMPowerBroadcast(var Msg: TMessage); message WM_POWERBROADCAST;

Titmouse, процедура выполняется при получении программой сообщения WM_POWERBROADCAST

 

 

Можно примерно так:

 

type
  TForm1 = class(TForm)
  private
    procedure WMPowerBroadcast(var Msg: TMessage); message WM_POWERBROADCAST;
  public
    { Public declarations }
  end;
 
const
   PBT_APMSUSPEND = 4;
   PBT_APMRESUMESUSPEND = 7;
   PBT_APMRESUMEAUTOMATIC = 18;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.WMPowerBroadcast(var Msg: TMessage);
begin
  case Msg.wParam of
    PBT_APMSUSPEND: ;         // переход в спящий режим
    PBT_APMRESUMESUSPEND: ;   // выход из спящего режима, инициированный пользователем (например, нажата клавиша)
    PBT_APMRESUMEAUTOMATIC: ; // выход из спящего режима
  end;
end;

 

Titmouse, процедура выполняется при получении программой сообщения WM_POWERBROADCAST, то есть отдельно самому её нигде прописывать (вызывать ) не нужно.
Что касаемо самой процедуры, то в качестве параметра она получает одно из нескольких значений...

 

PBT_APMSUSPEND: ; * * * * // переход в спящий режим
* * PBT_APMRESUMESUSPEND: ; * // выход из спящего режима, инициированный пользователем (например, нажата клавиша)
* * PBT_APMRESUMEAUTOMATIC: ; // выход из спящего режима

 

выбираете нужное вам, например PBT_APMRESUMESUSPEND и пишите, что должно произойти, например

 

procedure TForm1.WMPowerBroadcast(var Msg: TMessage);
begin
  case Msg.wParam of
    ...
    PBT_APMRESUMESUSPEND:
       begin
        ShowMessage('Вышли из спящего режима');
        прочие действия...
       end; ;   
    ...
  end;
end;

 

Это полностью рабочий код.
Надо только добавить требуемую реакцию на соответствующие варианты сообщения.
Процедура "вызывается" операционной системой.

 

 

Добавить комментарий


Защитный код
Обновить

Авторизация

Анекдот

Случайная статья (КОМПЬЮТЕРЫ)

Единицы измерения информации

Единицы измерения информации

1 байт = 8 бит
1 килобайт (Кб) = 210 байт = 1024 байт = 213бит
1 мегабайт (Мб) = 210 Кб   = 1024 Кб   = 220 байт
1 гигабайт (Гб)   = 210 Мб   = 1024 Мб = 230 байт
1 терабайт (Тб)    = 210 Гб    = 1024 Гб    = 240 байт

Подробнее ...

Измеряем скорость

1000ms = 1 секунда, 
1 Mbps (Мбит/с, Мегабит в секунду) = 0.125 MB/s (Мбайт/с, Мегабайт в секунду),
1 MB/s = 8 Mbps, 100 Mbps = 12.5 MB/s
 

Top.Mail.Ru Яндекс.Метрика
iikt  TIiIKT  ikt24.org.ru  gerb gerb