19.04.2017, 16:17
|
Прохожий
|
|
Регистрация: 01.04.2011
Адрес: Харьков
Сообщения: 31
Версия Delphi: 7 mini
Репутация: 10
|
|
Получилось.
Код:
const
POWER_REQUEST_CONTEXT_VERSION = 0;
POWER_REQUEST_CONTEXT_SIMPLE_STRING = 1;
POWER_REQUEST_CONTEXT_DETAILED_STRING = 2;
type
PREASON_CONTEXT = record
Version: ULONG;
Flags: DWORD;
SimpleReasonString: PWChar;
end;
POWER_REQUEST_TYPE = (PowerRequestDisplayRequired,
PowerRequestSystemRequired,
PowerRequestAwayModeRequired,
PowerRequestExecutionRequired);
function PowerCreateRequest(const Context: PREASON_CONTEXT): THandle; stdcall; external kernel32 name 'PowerCreateRequest';
function PowerSetRequest(PowerRequest: THandle; RequestType: POWER_REQUEST_TYPE): BOOL; stdcall; external kernel32 name 'PowerSetRequest';
function PowerClearRequest(PowerRequest: THandle; RequestType: POWER_REQUEST_TYPE): BOOL; stdcall; external kernel32 name 'PowerClearRequest';
var
PowerRequest: THandle;
procedure TForm1.FormCreate(Sender: TObject);
var
PowerRequestContext: PREASON_CONTEXT;
begin
PowerRequestContext.Version := POWER_REQUEST_CONTEXT_VERSION;
PowerRequestContext.Flags := POWER_REQUEST_CONTEXT_SIMPLE_STRING;
PowerRequestContext.SimpleReasonString := 'Continuous measurement';
PowerRequest := PowerCreateRequest(PowerRequestContext);
PowerSetRequest(PowerRequest, PowerRequestDisplayRequired);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
PowerClearRequest(PowerRequest, PowerRequestDisplayRequired);
CloseHandle(PowerRequest);
end;
|