Форум по 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
Ответить с цитированием
  #2  
Старый 29.06.2012, 21:06
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 297
Репутация: -1806
По умолчанию

а кнопку на клаве нажать, не?
Ответить с цитированием
  #3  
Старый 29.06.2012, 21:27
Zorkov Igor Zorkov Igor вне форума
Новичок
 
Регистрация: 28.07.2009
Сообщения: 85
Репутация: 50
По умолчанию

http://www.delphisources.ru/pages/so...r-manager.html
Ответить с цитированием
  #4  
Старый 29.06.2012, 21:34
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 297
Репутация: -1806
По умолчанию

Цитата:
Сообщение от Zorkov Igor
кагбэ, разбудить по таймеру и от втыкания БП ,немного разные вещи
Ответить с цитированием
  #5  
Старый 29.06.2012, 23:10
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

чота нулевого кольца однао писать придется, да не просто нулевого, а чтобы в спящем работало...
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #6  
Старый 30.06.2012, 12:15
Аватар для Dead_Gigabit
Dead_Gigabit Dead_Gigabit вне форума
Начинающий
 
Регистрация: 20.10.2009
Адрес: Там где холодно и сыро.... брр
Сообщения: 135
Версия Delphi: Delphi XE
Репутация: 10
По умолчанию

Цитата:
Сообщение от Zorkov Igor

Я это смотрел:
1. Там используются какие-то нестандартные компоненты
2. Мне не по интервалу нужно а по подаче питания на ноут.

По поводу кнопки нет не возможно, она есть но через нее не удобно...

Aristarh Dark а можно поподробней не чего не понял....

Вчера проэксперементировал при переходе в спячку все програмы прекращают работать, и в том числе и эта, можно ли загнать бук в спящий режим с одной раб. прогой или нет???

Жду любых преложений....

P.S операциорнка на буке Win 7 Home Basic
__________________
Delphi XE + Ehlib + FastReport
Ответить с цитированием
  #7  
Старый 03.07.2012, 19:27
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 297
Репутация: -1806
По умолчанию

Цитата:
Сообщение от Dead_Gigabit
По поводу кнопки нет не возможно, она есть но через нее не удобно...

можно ли загнать бук в спящий режим с одной раб. прогой или нет???
т.е. втыкнуть БП в розетку, а потом в ноут - это удобно, а нажать кнопку уже не удобно???

прочитай хоть для приличия что есть "спящий режем" и нафиг он нужен, выводу думаю будут очевидны
Ответить с цитированием
  #8  
Старый 03.07.2012, 20:04
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А порыться в BIOS на предмет WakeOnPower?
Ответить с цитированием
  #9  
Старый 09.07.2012, 11:34
Аватар для Dead_Gigabit
Dead_Gigabit Dead_Gigabit вне форума
Начинающий
 
Регистрация: 20.10.2009
Адрес: Там где холодно и сыро.... брр
Сообщения: 135
Версия Delphi: Delphi XE
Репутация: 10
По умолчанию

Цитата:
Сообщение от robt
т.е. втыкнуть БП в розетку, а потом в ноут - это удобно, а нажать кнопку уже не удобно???

прочитай хоть для приличия что есть "спящий режем" и нафиг он нужен, выводу думаю будут очевидны

Бук стоит в машине, и чтобы его постоянно не отключать он запитан от магнитолы, если магнитолу вырубить то и нет питания на бук поэтому неудобно лезти кудато внутрь под приборку нащупывать кнопку питания бука и выключать а так раз выкл могнитолку и бук спит...

WakeOnPower - такого нет точно есть только WakeOnLAN
__________________
Delphi XE + Ehlib + FastReport
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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