Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2008, 02:31   #1
subsonic
Пользователь
 
Регистрация: 03.01.2008
Сообщений: 48
По умолчанию НоутБук, Зарядка батареи

Как считать процент заряда батареи в ноутбуке?В "Винде" есть событие значит в "делфи" должно быть..
subsonic вне форума Ответить с цитированием
Старый 14.01.2008, 09:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
 var
   SysPowerStatus: TSystemPowerStatus;
 begin
   GetSystemPowerStatus(SysPowerStatus);
   if Boolean(SysPowerStatus.ACLineStatus) then
   begin
     ShowMessage('System running on AC.');
   end
   else
   begin
     ShowMessage('System running on battery.');
     ShowMessage(Format('Battery power left: %d percent.', [SysPowerStatus.BatteryLifePercent]));
   end;
 end;
(DelphiWorld)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.01.2008, 12:30   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Или, как вариант:
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var sps:_SYSTEM_POWER_STATUS;
begin
GetSystemPowerStatus(sps);
label1.Caption:='ACLineStatus - ' + inttostr(sps.ACLineStatus);
label2.Caption:='BatteryLifePercent - ' + inttostr(sps.BatteryLifePercent);
end;
У меня батареи нет, выдает 255%.
Наверное, надо нормализовать, чтобы было 100?
mihali4 вне форума Ответить с цитированием
Старый 14.01.2008, 13:05   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
Наверное, надо нормализовать, чтобы было 100?
Читаем справочку:

Members

ACLineStatus

AC power status. This parameter can be one of the following values:

Value Meaning
0 Offline
1 Online
255 Unknown status.


All other values are reserved.

BatteryFlag

Battery charge status. This parameter can be a combination of the following values:

Value Meaning
1 High
2 Low
4 Critical
8 Charging
128 No system battery
255 Unknown status


Ну значит не может толком определить заряд потому что от сети комп питается, ессно там хоть мулюен процентов будет )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать заряд батареи ноута? lvv12000 Общие вопросы Delphi 4 22.11.2010 18:52
Подскажите какой Лучше взять Ноутбук?? Project Компьютерное железо 26 25.10.2008 05:22
Купил ноутбук toshiba satelite L40-17t и хочу поставить XP, но не выходит Alexij Компьютерное железо 3 13.07.2008 23:08
как подключить ноутбук к действующей сети использовав действующий IP Чай.nik Помощь студентам 5 12.03.2008 09:26