⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 systempowercontroldlg.cpp

📁 power control example code for WinCE
💻 CPP
字号:
// SystemPowerControlDlg.cpp : implementation file
//

#include "stdafx.h"
#include "SystemPowerControl.h"
#include "SystemPowerControlDlg.h"


#include "Pm.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSystemPowerControlDlg dialog

CSystemPowerControlDlg::CSystemPowerControlDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSystemPowerControlDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSystemPowerControlDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CSystemPowerControlDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSystemPowerControlDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CSystemPowerControlDlg, CDialog)
	//{{AFX_MSG_MAP(CSystemPowerControlDlg)
	ON_BN_CLICKED(IDC_BUTTON_BOOT, OnButtonBoot)
	ON_BN_CLICKED(IDC_BUTTON_CRITICAL, OnButtonCritical)
	ON_BN_CLICKED(IDC_BUTTON_GETSTATE, OnButtonGetstate)
	ON_BN_CLICKED(IDC_BUTTON_IDLE, OnButtonIdle)
	ON_BN_CLICKED(IDC_BUTTON_OFF, OnButtonOff)
	ON_BN_CLICKED(IDC_BUTTON_ON, OnButtonOn)
	ON_BN_CLICKED(IDC_BUTTON_RESET, OnButtonReset)
	ON_BN_CLICKED(IDC_BUTTON_SUSPEND, OnButtonSuspend)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSystemPowerControlDlg message handlers

BOOL CSystemPowerControlDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	CenterWindow(GetDesktopWindow());	// center to the hpc screen

	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}



void CSystemPowerControlDlg::OnButtonBoot() 
{
	if(SetSystemPowerState(NULL,POWER_STATE_BOOT,POWER_FORCE)!=ERROR_SUCCESS){
		AfxMessageBox(_T("Failed to Change Power State "));
	}
	
}

void CSystemPowerControlDlg::OnButtonCritical() 
{
	if(SetSystemPowerState(NULL,POWER_STATE_CRITICAL,POWER_FORCE)!=ERROR_SUCCESS){
		AfxMessageBox(_T("Failed to Change Power State "));
	}
	
}

void CSystemPowerControlDlg::OnButtonGetstate() 
{
	DWORD PowerState;
	TCHAR statename[20];
	if(GetSystemPowerState(statename,10,&PowerState)!=ERROR_SUCCESS){
		AfxMessageBox(_T("Failed to Get Power State "));
	}
	else{
		AfxMessageBox(statename);
	}


	
}

void CSystemPowerControlDlg::OnButtonIdle() 
{
	if(SetSystemPowerState(NULL,POWER_STATE_IDLE,POWER_FORCE)!=ERROR_SUCCESS){
		AfxMessageBox(_T("Failed to Change Power State "));
	}
	
}

void CSystemPowerControlDlg::OnButtonOff() 
{

	if(SetSystemPowerState(NULL,POWER_STATE_OFF,POWER_FORCE)!=ERROR_SUCCESS){
		AfxMessageBox(_T("Failed to Change Power State "));
	}

	
}

void CSystemPowerControlDlg::OnButtonOn() 
{
	if(SetSystemPowerState(NULL,POWER_STATE_ON,POWER_FORCE)!=ERROR_SUCCESS){
		AfxMessageBox(_T("Failed to Change Power State "));
	}
	
}

void CSystemPowerControlDlg::OnButtonReset() 
{
   if(SetSystemPowerState(NULL,POWER_STATE_RESET,POWER_FORCE)!=ERROR_SUCCESS){
		AfxMessageBox(_T("Failed to Change Power State "));
	}
	
}

void CSystemPowerControlDlg::OnButtonSuspend() 
{
	if(SetSystemPowerState(NULL,POWER_STATE_SUSPEND,POWER_FORCE)!=ERROR_SUCCESS){
		AfxMessageBox(_T("Failed to Change Power State "));
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -