Здравствуйте, serg_p, Вы писали:
SP>Как получить HANDLE незнаю, но могу посоветовать для доступа к свойствам батареи использовать WMI, а именно класс Win32_Battery.
А можно поточнее? Что это из себя представляет? Как ?
D>А можно поточнее? Что это из себя представляет? Как ?
WMI — это большая тема, но если коротко, то с его помощью можно получать практически всю информацию о 'железе'(конечно если железо умеет "рассказать" о себе) и очень много информации об операционной системе.
Доступ к WMI возможен в том числе через COM и VBScript.
Вот пример для Вашего случая:
Set locator = CreateObject("WBemScripting.SWbemLocator")
Set service = locator.ConnectServer(".")
Set bateries = service.ExecQuery("SELECT * FROM Win32_Battery")
For Each batery In bateries
WScript.Echo(batery.EstimatedRunTime)
Next
Сохраните этот файл с расширением *.vbs и запустите — увидите время в минутах оставшееся до разрядки. В MSDN сделайте поиск по Win32_Battery — там найдете свойства поддерживаемые классом Win32_Battery.
Здравствуйте, serg_p, Вы писали:
D>>А можно поточнее? Что это из себя представляет? Как ?
SP>WMI — это большая тема, но если коротко, то с его помощью можно получать практически всю информацию о 'железе'(конечно если железо умеет "рассказать" о себе) и очень много информации об операционной системе.
SP>Вот ссылка SP>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_start_page.asp
SP>Доступ к WMI возможен в том числе через COM и VBScript. SP>Вот пример для Вашего случая:
SP>Set locator = CreateObject("WBemScripting.SWbemLocator") SP>Set service = locator.ConnectServer(".") SP>Set bateries = service.ExecQuery("SELECT * FROM Win32_Battery") SP>For Each batery In bateries SP> WScript.Echo(batery.EstimatedRunTime) SP>Next
SP>Сохраните этот файл с расширением *.vbs и запустите — увидите время в минутах оставшееся до разрядки. В MSDN сделайте поиск по Win32_Battery — там найдете свойства поддерживаемые классом Win32_Battery.
Я на Delphi пишу.
А для получение времени можно и getpowerstatus использовать. Мне больше надо было
Здравствуйте, Darthman, Вы писали:
D>Я на Delphi пишу.
Какая разница на чем писать — COM то и с Delphi можно использовать.
D>А для получение времени можно и getpowerstatus использовать. Мне больше надо было
Вы наверное несмотрели свойства класса Win32_Battery — посмотрите их там немало.
Здравствуйте, serg_p, Вы писали:
SP>Какая разница на чем писать — COM то и с Delphi можно использовать.
Я не к этому сказал. Да, с СОМ проблем нет нигде
SP>Вы наверное несмотрели свойства класса Win32_Battery — посмотрите их там немало.
Да, их там много. Но я смог получить несколько больше, посредством отрытия контроллера баттареи, как порта (используя deviceioctl и createfile). Так что, спасибо. Все уже есть.