【发布时间】:2022-01-26 22:39:36
【问题描述】:
嗨,
我一直在寻找资源、程序和代码,这些资源、程序和代码会在我的笔记本电脑电池充满(或几乎充满)时提醒我拔掉充电器。
我没有取得任何成功,直到我看到这个博客 - http://blogs.technet.com/b/jhoward/archive/2013/04/24/get-an-alert-when-my-battery-reaches-95.aspx
这段代码唯一的问题是
第 13 行:iRemaining(或从 BatteryStatus 调用的 RemainingCapacity 返回 0(可能是一个浮点数,我不知道为什么)。我什至查看了 microsoft 文档,它应该是一个百分比。
我想获取电池的当前百分比或总的 Fullchargedcapacity 和 EstimatedRemainingCapacity 以找到电池电量的百分比。
基本上我要问的是如何使用 Visual Basic 脚本返回电池电量百分比。
救命!
守则:
1 set oLocator = CreateObject("WbemScripting.SWbemLocator")
2 set oServices = oLocator.ConnectServer(".","root\wmi")
3 set oResults = oServices.ExecQuery("select * from batteryfullchargedcapacity")
4 for each oResult in oResults iFull = oResult.FullChargedCapacity
5 next
6
7 while (1)
8 set oResults = oServices.ExecQuery("select * from batterystatus")
9 for each oResult in oResults
10 iRemaining = oResult.RemainingCapacity
12 bCharging = oResult.Charging
12 next
13 iPercent = ((iRemaining / iFull) * 100) mod 100
14 if bCharging and (iPercent > 95) Then msgbox "Battery is at " & iPercent "%",vbInformation,"Battery monitor"
15 wscript.sleep 30000 ' (30 seconds)
16 wend
【问题讨论】:
-
只是为了让你知道有一种方法可以不用编码。您可以按照此处的步骤进行操作:7tutorials.com/…
-
VBA、basic 和 Visual Basic 是三种独立的语言,互不兼容。还有VB.Net,也是独立的,不兼容的。 Visual C++ 不以任何方式、形状或形式相关(作为 Microsoft 产品除外)。您在此处询问的是什么特定语言?不要只是随机抓取标签 - 添加实际适用于您的问题的标签。
-
@Ken White - 选择标签时只有视觉。我不知道它会解析为 VBA。您的回答也没有任何帮助。 @Mohit 我正在寻找电量不足或严重的电池。
-
您的脚本“挂起”,因为您没有在
While语句中设置条件来告诉代码何时退出循环。因此,您的脚本无限循环并消耗 CPU
标签: vbscript