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

📄 hardwareinfoview.cpp

📁 Visual_C++.NET精彩案例237.rar
💻 CPP
字号:
// HardwareInfoView.cpp : CHardwareInfoView 类的实现
//

#include "stdafx.h"
#include "HardwareInfo.h"

#include "HardwareInfoDoc.h"
#include "HardwareInfoView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CHardwareInfoView

IMPLEMENT_DYNCREATE(CHardwareInfoView, CView)

BEGIN_MESSAGE_MAP(CHardwareInfoView, CView)
	// 标准打印命令
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()

// CHardwareInfoView 构造/销毁

CHardwareInfoView::CHardwareInfoView()


{
	// TODO: 在此处添加构造代码

}

CHardwareInfoView::~CHardwareInfoView()
{
}

BOOL CHardwareInfoView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
	// 样式

	return CView::PreCreateWindow(cs);
}

// CHardwareInfoView 绘制

void CHardwareInfoView::OnDraw(CDC* pDC)
{
	CHardwareInfoDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	// TODO: 在此处为本机数据添加绘制代码
	//获取CPU信息
	GetProcessorInfo();
	//获取内存信息
	GetMemory();
	//获取鼠标信息
	GetMouseInfo();
	//在窗口中显示计算机硬件信息
	pDC->TextOut(0,0,"CPU类型:"+m_ProcessorType);
	pDC->TextOut(0,20,"CPU数目:"+CString(m_NumProcessors));
	pDC->TextOut(0,40,"内存大小:"+m_Memory);
	pDC->TextOut(0,60,"鼠标:"+m_Mouse);
	pDC->TextOut(0,80,"鼠标速度:"+m_MouseSpeed);
}


// CHardwareInfoView 打印

BOOL CHardwareInfoView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// 默认准备
	return DoPreparePrinting(pInfo);
}

void CHardwareInfoView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: 打印前添加额外的初始化
}

void CHardwareInfoView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: 打印后添加清除过程
}


// CHardwareInfoView 诊断

#ifdef _DEBUG
void CHardwareInfoView::AssertValid() const
{
	CView::AssertValid();
}

void CHardwareInfoView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CHardwareInfoDoc* CHardwareInfoView::GetDocument() const // 非调试版本是内联的
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CHardwareInfoDoc)));
	return (CHardwareInfoDoc*)m_pDocument;
}
#endif //_DEBUG


// CHardwareInfoView 消息处理程序
void CHardwareInfoView::GetProcessorInfo()
{
	SYSTEM_INFO sysInfo;
	char str [10];

	//获取硬件配置信息
	GetSystemInfo (&sysInfo);
	//检测CPU类型
	itoa(sysInfo.dwProcessorType,str,10);
	m_ProcessorType=str;
	//检测CPU数目
	itoa(sysInfo.dwNumberOfProcessors , str, 10);
	m_NumProcessors =str;

}

void CHardwareInfoView::GetMemory()
{
	//获取内存信息
	::GlobalMemoryStatus(&mem);
	m_Memory.Format("%d %s",mem.dwTotalPhys/(1024*1024),"M");
}

void  CHardwareInfoView::GetMouseInfo()
{
	//声明鼠标信息变量
	int MouseInfo[3];	// We need an array (size 3) of int for mouse information
	char str [10];
	
	//检测鼠标是否已安装
	if (!GetSystemMetrics (SM_MOUSEPRESENT))
		m_Mouse = "未安装";
	else m_Mouse = "已安装";
		
	//获取安装的鼠标信息
	SystemParametersInfo (SPI_GETMOUSE, NULL, MouseInfo, NULL);
	//将鼠标速度转换为字符串类型
	itoa(MouseInfo[2],str,10);
	m_MouseSpeed =str;
}



⌨️ 快捷键说明

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