我正在设置一台装有 Windows 7 的新笔记本电脑,并且正在使用雨量计在侧边栏显示系统信息(CPU、内存、GPU 信息等)。这需要在后台运行 MSI Afterburner 才能访问 GPU 统计数据。
无论如何,我意识到所有这些额外的软件可能会缩短我的电池寿命,所以我正在寻找一种方法,当电池电量低于一定水平(例如 50%)时自动退出这两个程序(Rainmeter 和 MSI)。我使用 Autohotkey 做其他事情,但尚未找到使用该程序或任何其他程序的解决方案。
还有想法吗?
答案1
这是一个脚本,当电池电量低于 50% 时,它将关闭 2 个进程。
SetTimer, CheckBatteryLevel, 2000
Return
CheckBatteryLevel:
VarSetCapacity(powerstatus, 1+1+1+1+4+4)
success := DllCall("kernel32.dll\GetSystemPowerStatus", "uint", &powerstatus)
batteryLifePercent := ReadInteger(&powerstatus,2,1,false)
if (batteryLifePercent < 50)
{
KillIfExists("Rainmeter.exe")
KillIfExists("MSI.exe")
}
Return
KillIfExists(p)
{
Process, Exist, % p
If (ErrorLevel)
Process, Close, % p
}
ReadInteger( p_address, p_offset, p_size, p_hex=true )
{
value = 0
old_FormatInteger := a_FormatInteger
if ( p_hex )
SetFormat, integer, hex
else
SetFormat, integer, dec
loop, %p_size%
value := value+( *( ( p_address+p_offset )+( a_Index-1 ) ) << ( 8* ( a_Index-1 ) ) )
SetFormat, integer, %old_FormatInteger%
return, value
}
我修改了这个帖子
答案2
看看这个。http://batterysaver.codeplex.com/
让您能够根据电池电量耗尽情况终止进程。
该程序处于开发初期,用户使用体验并不友好,但它仍然可以完成工作,值得称赞瑞安·埃默里感谢他在开发上的辛勤工作。您必须以管理员身份运行该程序并进行一些操作才能使其正常运行。
答案3
这个答案是针对 Rainmeter 的。我没有测试过,但是这插件可以测量电池百分比。您可以创建一个皮肤,用于if
测量电池何时低于某个百分比,然后打开一个 exe,这将是一个 Autohotkey 程序来关闭 Rainmeter。
我知道这个问题已经过时了,但我想为有同样问题的人提供一些意见。我没有测试过,但我认为没有理由它不起作用。