【原创】编了一个小程序,现在你可以不用安装PowerManager来设置电池阀值了
今天看了一下Lenovo电池管理的软件,发现可以利用其中的一些API来简单的设置电池阈值。图形版在这里:http://www.ibmnb.com/thread-1427707-1-1.html
附件中有两个可执行程序, tpbgc32.exe 和 tpbgc64.exe 分别用于32位和64位系统。
先说用法:
1. 显示当前的阀值, 不带参数执行
tpbgc32.exe
2. 设置充电阈值, 第一个参数是起始充电阈值,第二个参数是停止充电阈值
tpbgc32.exe 55 80
再说一下原理:
1. PowerManager需要一个驱动来控制充电阈值,这个驱动早期名字为tppwrif.sys,64位出现后分成两个,分别是TPPWR32V.SYS和TPPWR64V.SYS,分别对应32位和64为操作系统。
2. PowerManager还提供了一个DLL来和上面的驱动通信,提供简单的接口供其他程序调用。这个DLL早期名字为PWRMGRIF.DLL,后来名字为PWMIF32V.DLL和PWMIF64V.DLL。
3. 我所做的就是动态安装上面的驱动,然后调用DLL中相应的API来获取和设置充电阈值。
附件中提供了两个版本的PowerManager的驱动和DLL,分别是版本1.48和6.54的。64位系统没有测试过,win7和win8也没有测试过,不过理论上应该是通用的。
另外现在只支持第一个电池的阀值控制,我没有双电池的机器,无法测试。如果那个需要的话,可以做一个控制第二个电池的。
这个程序执行是不需要安装PowerManager的。如果有新的PowerManger版本出来,也可以将新版中的相应文件取出来,放到tpbg32.exe或者tpbg64.exe文件所在的目录中就可以了。
注:
用该程序设置的阈值,用PowerManger不一定能够正确的显示,因为PowerManger有些信息是从注册表中获取的。但是可以自己测试一下该阈值是否起作用了。
win8 以上系统,注意用管理员权限运行。
[ Edited byslangmgh on 2013-12-30 11:53 ] 楼主牛人 不知道是不是好用呢?过来试一下! 不错。。。。。。。 厉害 还是注册表设置简单 楼主牛人 这么牛逼啊。。顶一个 真牛X,不过我直接用win自带的 运行了显示没有安装驱动……
8.1 64位的系统
回复 #10 沙漠里的水 的帖子
错误信息是什么? 阈值 不是阀值,念“yu” 第四声, 不是“fa” 收藏了 收藏:D :D 用cmd验证有效,但是目前存在的问题是设定阈值之后无法重新设置回始终充满状态,既是把值设定为96-100也无效,最多只能到95-99 火’帖前排 还是安装个PM方便点。HOHO 好东西,试试,要不是为了阈值,早就不装电源管理器了,一旦错点一下,卡半天出界面:bs( 这种东西造福大众啊,不错 牛人啊,正需要,在win8.1 64位测试可用 Posted by 675439320 on 2013-12-26 14:16 http://www.ibmnb.com/images/common/back.gif用cmd验证有效,但是目前存在的问题是设定阈值之后无法重新设置回始终充满状态,既是把值设定为96-100也无效,最多只能到95-99
新的版本已经可以设置始终充满了。 果断收藏,还是程序员厉害:D
回复 #11 slangmgh 的帖子
可能是昨天你传的时候里面少一个64位的驱动,当时就是提示驱动没有,今天重新下载了,就可以了,另外问一下,为啥我下了图形版的没有图形界面还是CMD下用呢?或者可否打一个整包传到网盘里下载呢?
回复 #23 沙漠里的水 的帖子
是不是下载覆盖了。一开始的时候图形版和字符版名字一样。去图形版页面去重新下载一下吧。http://www.ibmnb.com/thread-1427707-1-1.html
回复 #24 slangmgh 的帖子
重新下了,好了,发现个问题,原来下的那个和这回下的差1KB,不知道是什么原因了,不过确实好用,非常感谢! Posted by 沙漠里的水 on 2013-12-27 11:37 http://www.ibmnb.com/images/common/back.gif重新下了,好了,发现个问题,原来下的那个和这回下的差1KB,不知道是什么原因了,不过确实好用,非常感谢!
程序一直在更新。
驱动程序今天也更新成最新的了。 赞!
⿻