Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.06.2012, 18:20
Аватар для Dead_Gigabit
Dead_Gigabit Dead_Gigabit вне форума
Начинающий
 
Регистрация: 20.10.2009
Адрес: Там где холодно и сыро.... брр
Сообщения: 135
Версия Delphi: Delphi XE
Репутация: 10
По умолчанию Ждущий режим

Всем доброго времени суток.
Появилась необходимость програмно переводить бук в спящий режим при работе от БАТАРЕИ и вернуть его к жизни при работе от СЕТИ.

вогнать в спящий режим получилось:

Код:
procedure Tmainform.TslTimer(Sender: TObject);
var
  st: TSystemPowerStatus;
  s:  string;
  hToken: THandle;
  tkp: TTokenPrivileges;
  ReturnLength: Cardinal;
begin
  GetSystemPowerStatus(st); 

  case st.ACLineStatus of 
    0: s := 'от батареи';
    1: s := 'от сети';
    else s := 'не известно';
  end;
  Info.Items.Add('Питание'#9 + s);
  if s = 'от батареи' then begin
   if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or
    TOKEN_QUERY, hToken) then
  begin
    LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid);
    tkp.PrivilegeCount := 1; // one privelege to set
    tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
    if AdjustTokenPrivileges(hToken, False, tkp, 0, nil, ReturnLength) then
      SetSystemPowerState(true, true);
  end;
  end;

end;

а вот с возвращением к "жизни" сложнее люди подскажите как это релизовать...
__________________
Delphi XE + Ehlib + FastReport
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:07.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025