Как получить handle на баттарею.
От: Darthman  
Дата: 18.02.03 09:52
Оценка:
в msdn указывается, что получить handle на баттарею можно с помощью createfile. Никак не возьму в толк, каким образом. Помогите, пожалуйста.
Re: Как получить handle на баттарею.
От: serg_p Украина  
Дата: 18.02.03 15:00
Оценка:
Как получить HANDLE незнаю, но могу посоветовать для доступа к свойствам батареи использовать WMI, а именно класс Win32_Battery.
Re[2]: Как получить handle на баттарею.
От: Darthman  
Дата: 18.02.03 15:14
Оценка:
Здравствуйте, serg_p, Вы писали:

SP>Как получить HANDLE незнаю, но могу посоветовать для доступа к свойствам батареи использовать WMI, а именно класс Win32_Battery.


А можно поточнее? Что это из себя представляет? Как ?
Re[3]: Как получить handle на баттарею.
От: serg_p Украина  
Дата: 18.02.03 15:35
Оценка: 18 (2)
D>А можно поточнее? Что это из себя представляет? Как ?

WMI — это большая тема, но если коротко, то с его помощью можно получать практически всю информацию о 'железе'(конечно если железо умеет "рассказать" о себе) и очень много информации об операционной системе.

Вот ссылка
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_start_page.asp

Доступ к 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.
Re: Как получить handle на баттарею.
От: Whisperer  
Дата: 18.02.03 15:58
Оценка:
Здравствуйте, Darthman, Вы писали:

[skip]

В MSDN поиск по CreateFile Battery
Re[2]: Как получить handle на баттарею.
От: Darthman  
Дата: 19.02.03 11:27
Оценка:
Здравствуйте, Whisperer, Вы писали:

W>Здравствуйте, Darthman, Вы писали:


W>[skip]


W>В MSDN поиск по CreateFile Battery


Именно через него и сделал. Всем спасибо.
Re[4]: Как получить handle на баттарею.
От: Darthman  
Дата: 19.02.03 11:28
Оценка:
Здравствуйте, 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 использовать. Мне больше надо было
Re[5]: Как получить handle на баттарею.
От: serg_p Украина  
Дата: 19.02.03 12:13
Оценка:
Здравствуйте, Darthman, Вы писали:

D>Я на Delphi пишу.

Какая разница на чем писать — COM то и с Delphi можно использовать.

D>А для получение времени можно и getpowerstatus использовать. Мне больше надо было

Вы наверное несмотрели свойства класса Win32_Battery — посмотрите их там немало.
Re[6]: Как получить handle на баттарею.
От: Darthman  
Дата: 19.02.03 14:06
Оценка:
Здравствуйте, serg_p, Вы писали:

SP>Какая разница на чем писать — COM то и с Delphi можно использовать.

Я не к этому сказал. Да, с СОМ проблем нет нигде

SP>Вы наверное несмотрели свойства класса Win32_Battery — посмотрите их там немало.

Да, их там много. Но я смог получить несколько больше, посредством отрытия контроллера баттареи, как порта (используя deviceioctl и createfile). Так что, спасибо. Все уже есть.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.