📄 systeminfoform.cpp
字号:
// SystemInfoForm.cpp : implementation file
//
#include "stdafx.h"
#include "parsecproj.h"
#include "SystemInfoForm.h"
#include "SystemInfo.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSystemInfoForm dialog
CSystemInfoForm::CSystemInfoForm()
: CDialog(CSystemInfoForm::IDD)
{
//{{AFX_DATA_INIT(CSystemInfoForm)
m_strVersion = _T("");
m_strWinName = _T("");
m_nAvialPhyMem = 0;
m_nAvialVMem = 0;
m_nTotalPM = 0;
m_nTotalVM = 0;
m_strCpuType = _T("");
m_nCpuSpeed = 0;
m_nFreeDiskSpace = 0;
m_strTotalDiskSpace = _T("");
//}}AFX_DATA_INIT
}
void CSystemInfoForm::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSystemInfoForm)
DDX_Text(pDX, IDC_WINVERSION, m_strVersion);
DDX_Text(pDX, IDC_WINNAME, m_strWinName);
DDX_Text(pDX, IDC_PHYSICMEM_EDIT, m_nAvialPhyMem);
DDX_Text(pDX, IDC_VIRTUALMEM_EDIT, m_nAvialVMem);
DDX_Text(pDX, IDC_TOTALPM, m_nTotalPM);
DDX_Text(pDX, IDC_TOTALVM, m_nTotalVM);
DDX_Text(pDX, IDC_CPUTYPE, m_strCpuType);
DDX_Text(pDX, IDC_CPUSPEED, m_nCpuSpeed);
DDX_Text(pDX, IDC_DISKFREE_EDIT, m_nFreeDiskSpace);
DDX_Text(pDX, IDC_TOTALDISKSPACE_EDIT, m_strTotalDiskSpace);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSystemInfoForm, CDialog)
//{{AFX_MSG_MAP(CSystemInfoForm)
ON_WM_TIMER()
ON_BN_CLICKED(IDC_EXITBTN, OnExitbtn)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSystemInfoForm message handlers
BOOL CSystemInfoForm::OnInitDialog()
{
CDialog::OnInitDialog();
//
LPSYSINFO siSysInfo;
CSystemInfo m_clsSysInfo;
siSysInfo = m_clsSysInfo.GetSysInfo();
ASSERT(siSysInfo);
m_strVersion = siSysInfo->szWindowsVersion;
m_strWinName = siSysInfo->szWindowsType;
m_nTotalPM = siSysInfo->szPhysicMem / 1024;
m_nTotalVM = siSysInfo->szTotalVirtualMem / 1024;
m_nAvialPhyMem = siSysInfo->szNoUsePhysicMem / 1024;
m_nAvialVMem = siSysInfo->szAvailVirtualMem / 1024;
m_strTotalDiskSpace.Format("%dGB", siSysInfo->szTotalDiskSpace);
m_nFreeDiskSpace = siSysInfo->szFreeDiskSpace;
//得到CPU型号
LONG result;
HKEY hKey;
TCHAR vendorData [64];
DWORD data;
DWORD dataSize;
result = ::RegOpenKeyEx (HKEY_LOCAL_MACHINE,
"Hardware\\Description\\System\\CentralProcessor\\0", 0, KEY_QUERY_VALUE, &hKey);
if (result == ERROR_SUCCESS) {
result = ::RegQueryValueEx (hKey, _T("~MHz"), NULL, NULL,
(LPBYTE)&data, &dataSize);
m_nCpuSpeed = data;
dataSize = sizeof(vendorData);
result = ::RegQueryValueEx (hKey, _T("VendorIdentifier"), NULL, NULL,
(LPBYTE)vendorData, &dataSize);
m_strCpuType.Format ("%s", vendorData);
}
//关闭主键
RegCloseKey (hKey);
//更新数据
UpdateData(FALSE);
SetTimer(1, 500, NULL);
//
return TRUE;
}
void CSystemInfoForm::OnTimer(UINT nIDEvent)
{
switch(nIDEvent)
{
case 1:
{
CSystemInfo m_clsSysInfo;
LPSYSINFO siSysInfo;
siSysInfo = m_clsSysInfo.GetSysInfo();
ASSERT(siSysInfo);
m_strVersion = siSysInfo->szWindowsVersion;
m_strWinName = siSysInfo->szWindowsType;
m_nTotalPM = siSysInfo->szPhysicMem / 1024;
m_nTotalVM = siSysInfo->szTotalVirtualMem / 1024;
m_nAvialPhyMem = siSysInfo->szNoUsePhysicMem / 1024;
m_nAvialVMem = siSysInfo->szAvailVirtualMem / 1024;
m_strTotalDiskSpace.Format("%dGB", siSysInfo->szTotalDiskSpace);
m_nFreeDiskSpace = siSysInfo->szFreeDiskSpace;
UpdateData(FALSE);
}
break;
}
//
CDialog::OnTimer(nIDEvent);
}
void CSystemInfoForm::OnExitbtn()
{
CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -