电源管理(MFC)

C++实现的对话框程序,用于监测Windows系统的电源状态,包括是否使用交流电、电池电量状态,并根据电量显示相应的图标。用户可以点击按钮获取电池信息或执行关机操作。程序还包含定时更新电源状态的功能。
摘要由CSDN通过智能技术生成
// Show_Power.cpp : 实现文件
//


#include "stdafx.h"
#include <Windows.h>
#include <WinBase.h>
#include "afxdialogex.h"
#include "Power.h"
#include "Show_Power.h"
#include <string>
#include <fstream>
#include <atlimage.h>
//#include <time.h>
#include "resource.h"
using namespace std;


fstream fout;
SYSTEM_POWER_STATUS Lps;
BOOL Flag_power=FALSE; //判断是否插电源了


// CShow_Power 对话框


IMPLEMENT_DYNAMIC(CShow_Power, CDialog)


CShow_Power::CShow_Power(CWnd* pParent /*=NULL*/)
: CDialog(CShow_Power::IDD, pParent)
, m_static_time()
, m_static_power_status(_T(""))
, m_static_left(_T(""))
{

}


CShow_Power::~CShow_Power()
{
CWnd::KillTimer(TIMER);
}


void CShow_Power::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_STATIC_time, m_static_time);
DDX_Text(pDX, IDC_STATIC_power_status, m_static_power_status);
DDX_Text(pDX, IDC_STATIC_left, m_static_left);
}




BEGIN_MESSAGE_MAP(CShow_Power, CDialog)
ON_BN_CLICKED(IDOK, &CShow_Power::OnBnClickedOk)
ON_BN_CLICKED(IDCANCEL, &CShow_Power::OnBnClickedCancel)
ON_BN_CLICKED(IDC_BUTTON_battery, &CShow_Power::OnClickedButtonBattery)
ON_BN_CLICKED(IDC_BUTTON_shutdown, &CShow_Power::OnBnClickedButtonshutdown)
// ON_WM_TIMER()
ON_WM_CREATE()
ON_WM_TIMER()
//ON_STN_CLICKED(IDC_STATIC_minute, &CShow_Power::OnStnClickedStaticminute)
//ON_STN_CLICKED(IDC_STATIC_status, &CShow_Power::OnStnClickedStaticstatus)
END_MESSAGE_MAP()




// CShow_Power 消息处理程序




void CShow_Power::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
//CDialog::OnOK();
BOOL Flag;
Flag=GetSystemPowerStatus(&Lps);
if(Flag==0)
{
AfxMessageBox(_T("获取电池信息失败!"));
}
else
{
if(Lps.ACLineStatus==0)
{
//AfxMessageBox(_T("脱机状态"));
GetDlgItem(IDC_BUTTON_battery)->ShowWindow(SW_SHOW);
switch(Lps.BatteryFlag)
{
case 1: AfxMessageBox(_T("电量高于66%"));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值