Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Как получить сведения об аккумуляторе? Добавлено: 02.02.10 18:49  

Автор вопроса:  maxis | Web-сайт: нет)
Сабж, интересует текущие Объем и Вольты в аккуме ноута.

Ответить

  Ответы Всего ответов: 29  

Номер ответа: 1
Автор ответа:
 ηikolaŠ~rus



ICQ: 604058327 

Вопросов: 50
Ответов: 287
 Профиль | | #1 Добавлено: 02.02.10 19:02
а причем тут вб?или те надо програмнно его узнать?

Ответить

Номер ответа: 2
Автор ответа:
 maxis



Вопросов: 9
Ответов: 45
 Web-сайт: нет)
 Профиль | | #2
Добавлено: 02.02.10 19:42
А как иначе.. в среде винды такого нет.

Ответить

Номер ответа: 3
Автор ответа:
 maxis



Вопросов: 9
Ответов: 45
 Web-сайт: нет)
 Профиль | | #3
Добавлено: 02.02.10 19:46
В общем в аккумуляторе нет контролера, следовательно рассчитать оставшийся заряд не получится. Есть идейка сделать прогу, которая будет определять по Вольтам, хоть и с погрешностью

Ответить

Номер ответа: 4
Автор ответа:
 maxis



Вопросов: 9
Ответов: 45
 Web-сайт: нет)
 Профиль | | #4
Добавлено: 02.02.10 20:34
Через SysInfo не получается.. там вроде только основные параметры (процент, время). Но в некоторых прогах есть Вольты, и прям видно, как они убывают. Значит на ВБ тоже как то можно сделать.. Помогите плз )

Ответить

Номер ответа: 5
Автор ответа:
 chialexus



ICQ: 321922 

Вопросов: 3
Ответов: 53
 Web-сайт: chialexus.narod.ru
 Профиль | | #5
Добавлено: 02.02.10 21:03
Пример на VBS с использованием WMI:
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=8092&lngWId=4

Ответить

Номер ответа: 6
Автор ответа:
 maxis



Вопросов: 9
Ответов: 45
 Web-сайт: нет)
 Профиль | | #6
Добавлено: 02.02.10 21:34
Чтот не получается.
Проверьте плз кто нибудь. У меня ошибки лезут.

Ответить

Номер ответа: 7
Автор ответа:
 chialexus



ICQ: 321922 

Вопросов: 3
Ответов: 53
 Web-сайт: chialexus.narod.ru
 Профиль | | #7
Добавлено: 02.02.10 22:14
Должно фунциклировать...
  1. Dim objWMIService, colItems
  2. Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
  3. Set colItems = objWMIService.ExecQuery("Select * from Win32_Battery",,48)
  4. For Each objItem In colItems
  5. Wscript.Echo "BatteryRechargeTime: " & objItem.BatteryRechargeTime
  6.      Wscript.Echo "BatteryStatus: " & objItem.BatteryStatus
  7.      Wscript.Echo "TimeOnBattery: " & objItem.TimeOnBattery
  8.      Wscript.Echo "TimeToFullCharge: " & objItem.TimeToFullCharge
  9. Next

Ответить

Номер ответа: 8
Автор ответа:
 maxis



Вопросов: 9
Ответов: 45
 Web-сайт: нет)
 Профиль | | #8
Добавлено: 03.02.10 00:04
Неа, ошибка 424
Wscript.Echo "BatteryRechargeTime: " & objItem.BatteryRechargeTime

Ответить

Номер ответа: 9
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #9
Добавлено: 03.02.10 00:16
замени Wscript.Echo на Debug.Print

Ответить

Номер ответа: 10
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #10 Добавлено: 03.02.10 02:06
Чё за проги показывают вольтаж аккума?
Помоему вольтаж на заряженном аккуме отличается от разряженного всего на пару вольт.

Ответить

Номер ответа: 11
Автор ответа:
 maxis



Вопросов: 9
Ответов: 45
 Web-сайт: нет)
 Профиль | | #11
Добавлено: 03.02.10 13:11
угу, так и есть.
К примеру заряженный 8 вольт, разряженный 6.5
Соответственно 100% и 0%, а далее промежутки.

Ответить

Номер ответа: 12
Автор ответа:
 maxis



Вопросов: 9
Ответов: 45
 Web-сайт: нет)
 Профиль | | #12
Добавлено: 03.02.10 15:54
Private Sub Form_Load()
 ;Dim objWMIService, colItems
 Set objWMIService = GetObject("winmgmts:\\.\root\cimv2";)
 Set colItems = objWMIService.ExecQuery("Select * from Win32_Battery", , 48)
 For Each objItem In colItems
Debug.Print "BatteryRechargeTime: " & objItem.BatteryRechargeTime
Debug.Print "BatteryStatus: " & objItem.BatteryStatus
Debug.Print "TimeOnBattery: " & objItem.TimeOnBattery
Debug.Print "TimeToFullCharge: " & objItem.TimeToFullCharge
 Next
End Sub

Мм нет результата, наверно Дебуг надо как то вывести?)

Ответить

Номер ответа: 13
Автор ответа:
 chialexus



ICQ: 321922 

Вопросов: 3
Ответов: 53
 Web-сайт: chialexus.narod.ru
 Профиль | | #13
Добавлено: 03.02.10 16:42
Прога для тестирования времени работы ноутбука от аккумуляторной батареи - http://www.izone.ru/sys/diagnostics/batterymark-ru.htm

Ответить

Номер ответа: 14
Автор ответа:
 maxis



Вопросов: 9
Ответов: 45
 Web-сайт: нет)
 Профиль | | #14
Добавлено: 03.02.10 16:48
Ммм не подходит..
Да и нужен код ВБ 6, а не готовые проги

Ответить

Номер ответа: 15
Автор ответа:
 chialexus



ICQ: 321922 

Вопросов: 3
Ответов: 53
 Web-сайт: chialexus.narod.ru
 Профиль | | #15
Добавлено: 03.02.10 17:45
  1. Private Declare Function GetSystemPowerStatus Lib "kernel32" (lpSystemPowerStatus As SYSTEM_POWER_STATUS) As Long
  2. Private Type SYSTEM_POWER_STATUS
  3.     ACLineStatus As Byte
  4.     BatteryFlag As Byte
  5.     BatteryLifePercent As Byte
  6.     Reserved1 As Byte
  7.     BatteryLifeTime As Long
  8.     BatteryFullLifeTime As Long
  9. End Type
  10.  
  11. Dim power_status As SYSTEM_POWER_STATUS
  12. Dim txt As String
  13.  
  14. Private Sub Command1_Click()
  15.     If GetSystemPowerStatus(power_status) = 0 Then
  16.         lblACStatus.Caption = "Ошибка"
  17.     Else
  18.         Select Case power_status.ACLineStatus
  19.             Case 0
  20.                 Label1.Caption = "Питание от батареи"
  21.             Case 1
  22.                 Label1.Caption = "Питание от сети"
  23.             Case 255
  24.                 Label1.Caption = "Неизвестный источник"
  25.         End Select
  26.  
  27.         If power_status.BatteryFlag And 1 Then txt = txt & ", High (> 66%)"
  28.         If power_status.BatteryFlag And 2 Then txt = txt & ", Low (< 33%)"
  29.         If power_status.BatteryFlag And 4 Then txt = txt & ", Critical (< 5%)"
  30.         If power_status.BatteryFlag And 8 Then txt = txt & ", Charging"
  31.         If power_status.BatteryFlag And 128 Then txt = txt & ", No system battery"
  32.         If power_status.BatteryFlag = 255 Then txt = txt & ", Unknown"
  33.         If Len(txt) > 0 Then txt = Mid$(txt, 3)
  34.         Label2.Caption = txt
  35.  
  36.         If power_status.BatteryFullLifeTime = -1 Then
  37.             Label3.Caption = "Неизвестно"
  38.         Else
  39.             Label3.Caption = power_status.BatteryFullLifeTime & " seconds"
  40.         End If
  41.  
  42.         If power_status.BatteryLifeTime = -1 Then
  43.             Label4.Caption = "Неизвестно"
  44.         Else
  45.             Label4.Caption = power_status.BatteryLifeTime & " seconds"
  46.         End If
  47.  
  48.         If power_status.BatteryLifePercent = 255 Then
  49.             Label5.Caption = "Неизвестно"
  50.         Else
  51.             Label5.Caption = power_status.BatteryLifePercent & "%"
  52.         End If
  53.     End If
  54. End Sub

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам