Windows-10 电池指示器 Visual Basic 脚本

Posted

技术标签:

【中文标题】Windows-10 电池指示器 Visual Basic 脚本【英文标题】:Windows-10 battery indicator Visual Basic Script 【发布时间】:2020-01-05 09:07:09 【问题描述】:

我从互联网上获得了一些用于警告指示器的代码。当电池正在充电并且电池电量高于 80% 时,我用它来警告我。

但我也想在电池电量低于 20% 时使用它来警告我。我为这个 20% 的警告添加了一行,但它不起作用。电池电量高于 80% 时有效,电量低于 20% 时无效。

我认为代码在 Visual Basic Sc​​ript (VBS) 中。

请帮忙。

我已经在其他论坛和这个论坛上搜索过,但在任何地方都找不到这样的程序。

set oLocator = CreateObject("WbemScripting.SWbemLocator")
set oServices = oLocator.ConnectServer(".","root\wmi")
set oResults = oServices.ExecQuery("select * from batteryfullchargedcapacity")
for each oResult in oResults
   iFull = oResult.FullChargedCapacity
next

while (1)
  set oResults = oServices.ExecQuery("select * from batterystatus")
  for each oResult in oResults
    iRemaining = oResult.RemainingCapacity
    bCharging = oResult.Charging
  next
  iPercent = ((iRemaining / iFull) * 100) mod 100
  if bCharging and (iPercent > 80) Then msgbox "Battery is charged now more than 80%. Please stop charging for optimal battery life."
  if bCharging and (iPercent < 20) Then msgbox "Battery is discharging and is below 20%. Please switch on charging immediately."
  wscript.sleep 30000 ' 5 minutes
wend

【问题讨论】:

如果电池正在充电且电量低于 20%,为什么需要警告?或者您的意思是测试电池是否充电且电量低于 20%? 这很好。我只想知道电池何时低于 20%,何时未充电。 我猜应该是if not bCharging and (iPercent &lt; 20)然后 重启后工作。感谢您的提示。 我的笔记本电脑似乎有 2 节电池。有没有办法获得两块电池的平均电量,以及其中一个是否在充电?我的问题是,如果电池 1 电量为 40% 且正在充电,而 2 电量为 60% 且未充电,那么它不会报告电池电量为 50% 且正在充电,而是报告 60% 且未充电。 【参考方案1】:

更改 - if bCharging and (iPercent &lt; 20)if iRemaining and (iPercent &lt; 20) 因为 bCharging 是在插入时进行的 并且 iRemaining 正在使用电池

【讨论】:

以上是关于Windows-10 电池指示器 Visual Basic 脚本的主要内容,如果未能解决你的问题,请参考以下文章

使用Arduino和LED光柱显示器件轻松制作电池电压指示器

Windows10下利用Visual Studio Code搭建C语言开发环境以及驱动的开发环境

Windows10下利用Visual Studio Code搭建C语言开发环境以及驱动的开发环境

微软Surface Book推送Windows 10新固件更新:增强系统和电池

Windows10 pc使用Apple Studio Display显示器设置

Windows10 pc使用Apple Studio Display显示器设置