Форум по 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
Сообщения: 298
Репутация: -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
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от Zorkov Igor
кагбэ, разбудить по таймеру и от втыкания БП ,немного разные вещи
Ответить с цитированием
  #5  
Старый 29.06.2012, 23:10
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия 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
Сообщения: 298
Репутация: -1806
По умолчанию

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

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

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

А порыться в BIOS на предмет WakeOnPower?
Ответить с цитированием
  #9  
Старый 03.07.2012, 23:42
Аватар для Amgsys HQ
Amgsys HQ Amgsys HQ вне форума
Начинающий
 
Регистрация: 11.11.2011
Адрес: Загрузочный сектор
Сообщения: 115
Версия Delphi: 7, XE
Репутация: 538
По умолчанию

Подобные вещи выполняются на уровне драйверов, если Google не врет.

Цитата:
Сообщение от lmikle
А порыться в BIOS на предмет WakeOnPower?
У вас есть такой параметр? У меня только WakeOnLAN присутствует.
__________________
Работа пpогpаммиста и шамана имеет очень много общего:
оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает.
Ответить с цитированием
  #10  
Старый 03.07.2012, 23:49
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

У меня в старой "материнке" такой параметр был, в новой отсутствует.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #11  
Старый 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
Ответить с цитированием
  #12  
Старый 09.07.2012, 12:31
Rat Rat вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 391
Репутация: 6078
По умолчанию

Тогда Вам стоит копать в сторону WakeOnLAN и каким то образом при подаче питания, делать этот самый WakeOnLan ну или симулировать нажатие кнопки питания, ибо операционка в спящем режиме вообще не работает.
Ответить с цитированием
  #13  
Старый 09.07.2012, 13:53
Аватар для ~TB~
~TB~ ~TB~ вне форума
Начинающий
 
Регистрация: 17.02.2006
Адрес: Казахстан
Сообщения: 172
Версия Delphi: XE
Репутация: 1500
По умолчанию

чей-то-нашел, может пригодиться.
__________________
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter