Životnost baterie   zodpovězená otázka

C#

Zdravím,

existuje nějaká jiná možnost jak zjistit aktuální životnost baterie v notebooku? Win32_Batery a její DesignCapacity vrací ve většině případů nulu. Vím že Windows sám má podporu pro zjišťování životnosti. Nezapisuje si někam informace? (Registry, texťák...). Za jakoukoliv pomoc budu rád a předem děkuji.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

A neexistuje pro tento účel již mnoho funkčních řešení? Tak nač vymýšlet kolo..

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vyzkoušel bych System.Windows.Forms.SystemInformation.PowerStatus z assembly System.Windows.Forms.

Existuje tam (mimo jiných) vlastnost BatteryLifeRemaining, což je odhadovaná doba výdrže ve vteřinách.

Pokud vás to zajímá, interně tato třída využívá API:

[DllImport("kernel32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern bool GetSystemPowerStatus([In] [Out] ref NativeMethods.SYSTEM_POWER_STATUS systemPowerStatus);
nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Omlouvám se. Špatně jsem se vyjádřil. Nepotřebuji zjišťovat aktuální stav baterie, ale její životnost v průběhu času. Tedy její opotřebení.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nevím o tom, že by systém tuto informaci uchovával. Mohu se však mýlit. Každopádně bych se podívat na to, co uvedené API vrací a možná tam najdete, co potřebujete.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Možná by vás mohlo zajímat toto:

http://vbnet.cz/BlogArticle.aspx?id=409

Máte-li k dispozici data získaná tímto nástrojem, můžete lehce zpočítat výdrž, která se časem bude snižovat - z toho lze hrubě odhadnout životnost.

Mimochodem spoustu power funkcí jinak chybějících v .NET Frameworku obsahuje Windows API Code Pack.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback