PC의 전원 상태를 체크하여 절전모드 이후 처리해야 될 로직이 있어 찾아보니,
친절하게 윈도우에 관련 API가 있어 가져와봤습니다.
type
TForm1 = class(TForm)
..
private
procedure WindowPowerState(var AMsg: TMesage); message WM_POWERBROADCAST;
..
public
..
end;
procedure TForm1.WindowPowerState(var AMsg: TMessage);
begin
case AMsg.WParam of
//AC, DC등 전원방식이 변경 되었을 때
PBT_APMPOWERSTATUSCHANGE: begin
end;
//윈도우가 절전상태에서 돌아왔을 때
PBT_APMRESUMEAUTOMATIC: begin
end;
//윈도우가 재실행 됐을 때
PBT_APMRESUMESUSPEND: begin
end;
//윈도우가 정지에 들어갔을 때
PBT_APMSUSPEND: begin
end;
//전원 설정(정책)이 변경되었을 때
PBT_POWERSETTINGCHANGE: begin
end;
end;
end;
반응형