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 Script (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 < 20)
然后
重启后工作。感谢您的提示。
我的笔记本电脑似乎有 2 节电池。有没有办法获得两块电池的平均电量,以及其中一个是否在充电?我的问题是,如果电池 1 电量为 40% 且正在充电,而 2 电量为 60% 且未充电,那么它不会报告电池电量为 50% 且正在充电,而是报告 60% 且未充电。
【参考方案1】:
更改 - if bCharging and (iPercent < 20)
为 if iRemaining and (iPercent < 20)
因为 bCharging 是在插入时进行的
并且 iRemaining 正在使用电池
【讨论】:
以上是关于Windows-10 电池指示器 Visual Basic 脚本的主要内容,如果未能解决你的问题,请参考以下文章
使用Arduino和LED光柱显示器件轻松制作电池电压指示器
Windows10下利用Visual Studio Code搭建C语言开发环境以及驱动的开发环境
Windows10下利用Visual Studio Code搭建C语言开发环境以及驱动的开发环境
微软Surface Book推送Windows 10新固件更新:增强系统和电池