![]() |
|
|
#1
|
||||
|
||||
![]() Всем доброго времени суток.
Появилась необходимость програмно переводить бук в спящий режим при работе от БАТАРЕИ и вернуть его к жизни при работе от СЕТИ. вогнать в спящий режим получилось: Код:
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
|
|||
|
|||
![]() а кнопку на клаве нажать, не?
|
#3
|
|||
|
|||
![]() |
#4
|
|||
|
|||
![]() Цитата:
![]() |
#5
|
||||
|
||||
![]() чота нулевого кольца однао писать придется, да не просто нулевого, а чтобы в спящем работало...
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#6
|
||||
|
||||
![]() Цитата:
Я это смотрел: 1. Там используются какие-то нестандартные компоненты 2. Мне не по интервалу нужно а по подаче питания на ноут. По поводу кнопки нет не возможно, она есть но через нее не удобно... Aristarh Dark а можно поподробней не чего не понял.... Вчера проэксперементировал при переходе в спячку все програмы прекращают работать, и в том числе и эта, можно ли загнать бук в спящий режим с одной раб. прогой или нет??? Жду любых преложений.... P.S операциорнка на буке Win 7 Home Basic Delphi XE + Ehlib + FastReport |
#7
|
|||
|
|||
![]() Цитата:
прочитай хоть для приличия что есть "спящий режем" и нафиг он нужен, выводу думаю будут очевидны |
#8
|
|||
|
|||
![]() А порыться в BIOS на предмет WakeOnPower?
|
#9
|
||||
|
||||
![]() Цитата:
Бук стоит в машине, и чтобы его постоянно не отключать он запитан от магнитолы, если магнитолу вырубить то и нет питания на бук поэтому неудобно лезти кудато внутрь под приборку нащупывать кнопку питания бука и выключать а так раз выкл могнитолку и бук спит... WakeOnPower - такого нет точно есть только WakeOnLAN Delphi XE + Ehlib + FastReport |