📄 hardwareinfoview.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 + -