Я написал небольшой фрагмент кода, который считывает текущий заряд батареи/разрядку на моем ноутбуке. Я следовал примеру кода на this MSDN page.Прочтите текущий заряд батареи/разрядку на ноутбуке
Моя программа обновляет информацию каждые 100 мс (по вызывая функцию DeviceIoControl с IOCTL_BATTERY_QUERY_STATUS в качестве управляющего кода), но изменяется значение только для чтения через 5-10 секунд. Например, если я изменяю яркость экрана с минимального значения до максимума, скорость обновления обновляется всего через 5-10 секунд. Я использовал Visual C++ 2010 на 32-разрядной версии Windows 7.
Кто-нибудь знает, как получить в режиме реального времени чтение заряда/разрядки?
Почему, по вашему мнению, неточно? Задержка может быть вызвана буферизацией заряда где-то в аппаратном обеспечении (какой-то конденсатор), и это только приводит к большей нагрузке на батарею, когда этот заряд исчерпан. –
Значения, которые я получаю, верны, я просил путь (если есть), чтобы увидеть эти изменения раньше. Я не думаю, что есть конденсатор, потому что с увеличением потребляемой мощности 20 Вт задержка составляет около 8 секунд, для этого потребуется очень большой конденсатор! – user472507