Показать сообщение отдельно
  #8  
Старый 19.04.2017, 16:17
pirsddd pirsddd вне форума
Прохожий
 
Регистрация: 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;
Ответить с цитированием