BatteryX






2.65/5 (14投票s)
2005年7月27日
4分钟阅读

56510

778
BatteryX 显示您笔记本电脑的当前电源状态。
- 下载源代码 + 二进制文件 + 插件 SDK v2.2 UPDATE2 - 152 Kb (1.8.2005)
- 带对话框源代码的插件 SDK 1.0 - 11.7 Kb (更新于 2005年8月15日)
引言
查看压缩包内的说明文件以了解新增内容。
为什么选择 BatteryX
BatteryX 是每个笔记本电脑用户的“必备”软件。如果您不想总是使用鼠标查看 Windows 电池信息,可以使用此程序。BatteryX 几乎不占用资源。它具有智能的能源信息系统。BatteryX 默认情况下每 35 秒自动刷新一次,但用户也可以更改刷新时间。它还使用Windows 电源信息消息进行刷新。因此,如果您连接到外部电源设备,BatteryX 将显示“AC”。我使用这两个系统是因为 Windows 并不总是自动发送电源消息,所以为了保险起见,我还设置了刷新间隔。如果您连接到外部电源设备,则间隔计时器将停止,并在断开与外部电源设备的连接后再次启动。此系统可以节省资源。
兼容性
BatteryX 专为 Win XP 或更高版本设计,但也可能与 Win 2K 兼容。
刷新系统
基本系统
源代码
使用带有最新 Service Pack 的 VC++ 6.0 编译源代码!如果您想使用 VC++ .NET 2003 编译它,您也可以编译源代码,但是您需要更改GetDevicePowerState
函数中的一个参数。此 API 在 VC++ 6.0 和 VC++ .NET 2003 中似乎有所不同。
如何使用源代码
如果您想以发布模式编译源代码,只需在发布模式下选择 battery2,否则在调试模式下选择 battery2。项目的其他所有部分都将以 battery2 所选择的模式进行编译。
按 Erstellen->Alles neu erstellen 以当前选择的模式编译项目的所有部分。(译者注:德语,意思是“构建->全部重新构建”)
我似乎安装了另一个版本的 VC++ 6.0。在我的版本中,::GetDevicePowerState
只需要一个参数。其他版本需要两个参数,您可以在此处的第二部分看到。只需编辑适用于您电脑的方法!
使用插件 SDK
从 2.2 UPDATE2 版本开始,BatteryX 也支持动态插件。插件 SDK 的源代码也包含在软件包中。插件支持的主要思想:如果您创建了一个好的程序并想将其包含到 BatteryX 中,例如 CPU 信息、硬件信息、远程网络摄像头控制、wlan 状态等,您只需将源代码包含到 SDK 中并使用“启动”方法启动您的代码。您还必须设置插件版本(仅限版本 1)和内部名称。这是您随后可以在 BatteryX 的弹出菜单中看到的名称。
编译插件后,您将获得一个 DLL 文件。这就是插件。只需将其复制到Binaries目录中的“plugins”文件夹中。然后右键单击 BatteryX。然后您可以在弹出菜单中看到您自己编写的插件。选择它后,BatteryX 将调用插件中的“Start”方法。
在示例图片中,您可以看到新的插件。“显示对话框的测试插件”只是内部名称。顺便说一句,您不需要重新启动 BatteryX。每次选择弹出菜单时,都会列出新的正确插件列表;)。
目录结构如下……
顺便说一句:如果您现在使用 STRG-F5 编译,由于位置原因,插件将被加载。VC 从battery2而不是battery2\Binaries启动程序,因此只需直接启动 EXE 文件。之后,所有加载的插件都将正确列在弹出菜单中。(译者注:STRG-F5 是快捷键,表示调试运行)
带对话框的插件 SDK 1.0
我更新了插件 SDK v1.0,因为您可能在 DLL 中启动对话框时遇到一些问题。此代码现在包含用于窗口的 MFC 类代码和一个名为DoModal()
的函数。
void DoModal()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CPluginDialog pd;
pd.DoModal();
}
您需要插入AFX_MANAGE_STATE
命令。如果您不包含这一行,对话框将无法启动。
致谢
- 感谢 Herbert K. 的测试和提示。
- 感谢 Daniel Chirca 提供
CBattery
。 - 感谢 David Forrester 提供
CBitmapDialog
。 - 感谢 Chris Maunder 提供
CTestProgressCtrl
。 - 感谢 Keith Rule 提供
CMemDC
类。 - 感谢所有测试人员。
待办事项
- 自动更新系统。
- 集成到任务栏!!就像 IBM 电池一样。
- 操作系统的兼容性测试。
- 集成语音引擎(可能作为插件)。
查看包中的histroy.txt以了解新增内容。如果您对如何增强程序有任何想法,请告诉我。