CPU:
//当用户拖动最小化窗口时系统调用此函数取得光标显示。
HCURSOR CTestDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CTestDlg::OnBnClickedBtnname()
{
HKEY hKey;
LPCTSTR StrKey="HARDWARE//DESCRIPTION//System//CentralProcessor//0";
if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,StrKey,NULL,KEY_ALL_ACCESS,&hKey))
{
DWORD dwSize=255,dwType=REG_SZ;
char String[256];
LPCSTR KeyValue="ProcessorNameString";
if (ERROR_SUCCESS==::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)String,&dwSize))
{
CString StrData=String;
MessageBox("CPU的名称为:"+StrData,"信息提示",MB_OK);
}
::RegCloseKey(hKey);
}
}
void CTestDlg::OnBnClickedBtnidentify()
{
HKEY hKey;
LPCTSTR StrKey="HARDWARE//DESCRIPTION//System//CentralProcessor//0";
if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,StrKey,NULL,KEY_ALL_ACCESS,&hKey))
{
DWORD dwSize=255,dwType=REG_SZ;
char String[256];
LPCSTR KeyValue="Identifier";
if (ERROR_SUCCESS==::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)String,&dwSize))
{
CString StrData=String;
MessageBox("CPU的标识为:"+StrData,"信息提示",MB_OK);
}
::RegCloseKey(hKey);
}
}
void CTestDlg::OnBnClickedBtnvendor()
{
HKEY hKey;
LPCTSTR StrKey="HARDWARE//DESCRIPTION//System//CentralProcessor//0";
if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,StrKey,NULL,KEY_ALL_ACCESS,&hKey))
{
DWORD dwSize=255,dwType=REG_SZ;
char String[256];
LPCSTR KeyValue="VendorIdentifier";
if (ERROR_SUCCESS==::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)String,&dwSize))
{
CString StrData=String;
MessageBox("CPU的制造商为:"+StrData,"信息提示",MB_OK);
}
::RegCloseKey(hKey);
}
}
inline unsigned _int64 theCycleCount(void)
{
_asm _emit 0x0F
_asm _emit 0x31
}
void CTestDlg::OnBnClickedBtnmhz()
{
unsigned _int64 start=theCycleCount();
Sleep(1000);
unsigned _int64 end=theCycleCount();
unsigned _int64 tick=(end-start)/1000000;
CString StrMHZ;
StrMHZ.Format("CPU的主频为:%ld MHz",tick);
MessageBox(StrMHZ,"信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtnnumber()
{
//声明硬件信息结构变量
SYSTEM_INFO siSysInfo;
//复制硬件信息到SYSTEM_INFO结构变量
GetSystemInfo(&siSysInfo);
//显示硬件信息
CString StrCPUNumber;
StrCPUNumber.Format("系统一共有 %u 个CPU", siSysInfo.dwNumberOfProcessors);
MessageBox(StrCPUNumber,"信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtn3dnow()
{
if(IsProcessorFeaturePresent(PF_3DNOW_INSTRUCTIONS_AVAILABLE))
MessageBox("当前CPU支持3DNow技术","信息提示",MB_OK);
else
MessageBox("当前CPU不支持3DNow技术","信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtnmmx()
{
if(IsProcessorFeaturePresent(PF_MMX_INSTRUCTIONS_AVAILABLE))
MessageBox("当前CPU支持MMX技术","信息提示",MB_OK);
else
MessageBox("当前CPU不支持MMX技术","信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtnsecure()
{
if(::GetSystemMetrics(SM_SECURE))
MessageBox("提供安全特性","信息提示",MB_OK);
else
MessageBox("没有提供安全特性","信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtnname9()
{
if(::GetSystemMetrics(SM_SLOWMACHINE))
MessageBox("具有低档处理器","信息提示",MB_OK);
else
MessageBox("不具有低档处理器","信息提示",MB_OK);
}
计算机所有者:
void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
// 如果向对话框添加最小化按钮,则需要下面的代码
// 来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
// 这将由框架自动完成。
void CTestDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // 用于绘制的设备上下文
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// 使图标在工作矩形中居中
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// 绘制图标
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
//当用户拖动最小化窗口时系统调用此函数取得光标显示。
HCURSOR CTestDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CTestDlg::OnBnClickedBtngetuser()
{
char UserName[MAX_PATH];
CString StrUserName;
DWORD Size=MAX_PATH;
::GetUserName(UserName,&Size);
StrUserName.Format("%s",UserName);
MessageBox("用户名称为:"+StrUserName,"信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtngetcomputer()
{
char ComputerName[MAX_PATH];
CString StrComputerName;
DWORD Size=MAX_PATH;
::GetComputerName(ComputerName,&Size);
StrComputerName.Format("%s",ComputerName);
MessageBox("计算机名称为:"+StrComputerName,"信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtnsetcomputer()
{
CString StrComputerName="China";
if(::SetComputerName(StrComputerName))
MessageBox("设置计算机名操作成功,在重新启动计算机后生效,请读者注意修改!","信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtngetowner()
{
HKEY hKey;
LPCTSTR StrKey="Software//Microsoft//Windows NT//CurrentVersion";
if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,StrKey,NULL,KEY_ALL_ACCESS,&hKey))
{
DWORD dwSize=255,dwType=REG_SZ;
char String[256];
LPCSTR KeyValue="RegisteredOwner";
if (ERROR_SUCCESS==::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)String,&dwSize))
{
CString StrData=String;
MessageBox("计算机所有者为:"+StrData,"信息提示",MB_OK);
}
RegCloseKey(hKey);
}
}
void CTestDlg::OnBnClickedBtngetorg()
{
HKEY hKey;
LPCTSTR StrKey="Software//Microsoft//Windows NT//CurrentVersion";
if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,StrKey,NULL,KEY_ALL_ACCESS,&hKey))
{
DWORD dwSize=255,dwType=REG_SZ;
char String[256];
LPCSTR KeyValue="RegisteredOrganization";
if (ERROR_SUCCESS==::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)String,&dwSize))
{
CString StrData=String;
MessageBox("计算机所有者单位名称为:"+StrData,"信息提示",MB_OK);
}
::RegCloseKey(hKey);
}
}
OS:
HCURSOR CTestDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CTestDlg::OnBnClickedBtnserial()
{
HKEY hKey;
LPCTSTR StrKey="Software//Microsoft//Windows NT//CurrentVersion";
if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,StrKey,NULL,KEY_ALL_ACCESS,&hKey))
{
DWORD dwSize=255,dwType=REG_SZ;
char String[256];
LPCSTR KeyValue="ProductId";
if (ERROR_SUCCESS==::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)String,&dwSize))
{
CString StrData=String;
MessageBox("操作系统的安装序列号为:"+StrData,"信息提示",MB_OK);
}
::RegCloseKey(hKey);
}
}
void CTestDlg::OnBnClickedBtnname()
{
HKEY hKey;
LPCTSTR StrKey="Software//Microsoft//Windows NT//CurrentVersion";
if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,StrKey,NULL,KEY_ALL_ACCESS,&hKey))
{
DWORD dwSize=255,dwType=REG_SZ;
char String[256];
LPCSTR KeyValue="ProductName";
if (ERROR_SUCCESS==::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)String,&dwSize))
{
CString StrData=String;
MessageBox("操作系统的产品名称为:"+StrData,"信息提示",MB_OK);
}
::RegCloseKey(hKey);
}
}
void CTestDlg::OnBnClickedBtnie()
{
HKEY hKey;
LPCTSTR StrKey="Software//Microsoft//Internet Explorer";
if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,StrKey,NULL,KEY_ALL_ACCESS,&hKey))
{
DWORD dwSize=255,dwType=REG_SZ;
char String[256];
LPCSTR KeyValue="Version";
if (ERROR_SUCCESS==::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)String,&dwSize))
{
CString StrData=String;
MessageBox("IE浏览器的版本号为:"+StrData,"信息提示",MB_OK);
}
::RegCloseKey(hKey);
}
}
磁盘信息查询:
void CTestDlg::OnBnClickedBtnserial()
{
DWORD Serial;
DWORD Length;
GetVolumeInformation("C:",NULL, MAX_PATH,&Serial,&Length, NULL,NULL,MAX_PATH);
CString StrSerial;
StrSerial.Format("%ud",Serial);
MessageBox("C:盘的序列号为:"+StrSerial,"信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtnvolume()
{
TCHAR VolumeName[12];
DWORD Length;
GetVolumeInformation("C:",VolumeName,MAX_PATH,NULL,&Length,NULL,NULL,NULL);
CString StrVolumeName;
StrVolumeName.Format("%s",VolumeName);
MessageBox("C:盘的卷标名为:"+StrVolumeName,"信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtnsetvolume()
{
if(::SetVolumeLabel("C:","HARDC"))
MessageBox("磁盘卷标设置成功!","信息提示",MB_OK);
else
MessageBox("磁盘卷标设置失败!","信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtnsize()
{
CString StrTotalsize,StrFreesize,StrUsedsize,StrInfo;
ULARGE_INTEGER nTotalBytes, nTotalFreeBytes, nTotalAvailable;
if( ::GetDiskFreeSpaceEx("C:", &nTotalAvailable, &nTotalBytes, &nTotalFreeBytes))
{
StrTotalsize.Format("C:磁盘总空间大小为:%ld MB/n",nTotalBytes.QuadPart/1024/1024);
StrFreesize.Format("C:磁盘自由空间大小为:%ld MB/n",nTotalFreeBytes.QuadPart/1024/1024);
StrUsedsize.Format("C:磁盘已经使用的空间大小为:%ld MB",nTotalBytes.QuadPart/1024/1024-nTotalFreeBytes.QuadPart/1024/1024);
}
StrInfo+=StrTotalsize+StrFreesize+StrUsedsize;
MessageBox(StrInfo,"信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtnname()
{
DWORD Length;
TCHAR FileSystemName[MAX_PATH];
GetVolumeInformation("C:",NULL, MAX_PATH,NULL,&Length,NULL,FileSystemName,MAX_PATH);
CString StrFileSystemName;
StrFileSystemName.Format("%s",FileSystemName);
MessageBox("C:盘的文件系统名称为:"+StrFileSystemName,"信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtnalldrivers()
{
char szDrives[128];
char* pDrive;
CString StrDriveName="";
//取得系统的第一个逻辑驱动器
if ( !GetLogicalDriveStrings( sizeof(szDrives), szDrives ) )
{
MessageBox("不能取得系统的逻辑驱动器","信息提示",MB_OK);
return ;
}
//指向第一个逻辑驱动器
pDrive = szDrives;
//搜索系统所有的逻辑驱动器
while( *pDrive )
{
CString Str;
Str.Format("%s",pDrive);
StrDriveName+=Str+"、";
//指向下一个驱动器标识符
pDrive += strlen( pDrive ) + 1;
}
MessageBox("系统存在下列驱动器:"+StrDriveName,"信息提示",MB_OK);
}
void CTestDlg::OnBnClickedBtnicon()
{
CString StrFilter="可执行程序(*.exe)|*.exe|所有文件(*.*)|*.*||";
CFileDialog Dlg(TRUE,NULL,NULL,NULL,StrFilter,this);
if(Dlg.DoModal()==IDCANCEL)
return;
HKEY hKey;
DWORD dwDisposition;
LPCSTR Value=Dlg.GetPathName();
LPCTSTR StrKey="Software//Microsoft//Windows//CurrentVersion//Explorer//DriveIcons//C//DefaultIcon";
if(ERROR_SUCCESS==::RegCreateKeyEx(HKEY_LOCAL_MACHINE, (LPCTSTR)StrKey,0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,
NULL,&hKey,&dwDisposition))
{
if(ERROR_SUCCESS==::RegSetValueEx(hKey,"",0,REG_SZ,(BYTE *)(LPCSTR)Value,::strlen(Value)+1))
MessageBox("请注销计算机,查看设置结果","信息提示",MB_OK);
::RegCloseKey(hKey);
}
}
内存:++++++++++++++++++++++++++++++++++++++++++++++++++ void CTestDlg::OnBnClickedBtnhide() { HKEY hKey; LPCTSTR KeyValue="NoDrives"; DWORD Value=4; LPCTSTR StrKey="Software//Microsoft//Windows//CurrentVersion//Policies//Explorer"; if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_CURRENT_USER,StrKey,NULL,KEY_ALL_ACCESS,&hKey)) { if (ERROR_SUCCESS==::RegSetValueEx(hKey,(LPCTSTR)KeyValue,0,REG_BINARY,(BYTE *)&Value,sizeof(Value))) MessageBox("请注销计算机,查看设置结果","信息提示",MB_OK); ::RegCloseKey(hKey); } } void CTestDlg::OnBnClickedBtntype() { CString StrDisktype; switch( ::GetDriveType("G:") ) { case DRIVE_REMOVABLE: StrDisktype="软驱"; break; case DRIVE_FIXED: StrDisktype="固定硬盘"; break; case DRIVE_REMOTE: StrDisktype="网络驱动器"; break; case DRIVE_CDROM: StrDisktype="光驱"; break; case DRIVE_RAMDISK: StrDisktype="RAM驱动器"; break; default: StrDisktype="未知"; break; } MessageBox("G:盘为:"+StrDisktype,"信息提示",MB_OK); } void CTestDlg::OnBnClickedBtnautoplay() { HKEY hKey; LPCTSTR KeyValue="AUTORUN"; //Value值为1表示启用,为0表示禁用 DWORD Value=1; LPCTSTR StrKey="System//CurrentControlSet//Services//CDRom"; if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,StrKey,NULL,KEY_ALL_ACCESS,&hKey)) { if(ERROR_SUCCESS==::RegSetValueEx(hKey,(LPCTSTR)KeyValue,0,REG_DWORD,(BYTE *)&Value,sizeof(Value))) MessageBox("请注销计算机,查看设置结果","信息提示",MB_OK); ::RegCloseKey(hKey); } } void CTestDlg::OnBnClickedBtnplayprogram() { CString StrFilter="可执行程序(*.exe)|*.exe|所有文件(*.*)|*.*||"; CFileDialog Dlg(TRUE,NULL,NULL,NULL,StrFilter,this); if(Dlg.DoModal()==IDCANCEL) return; HKEY hKey; LPCTSTR KeyValue=""; LPCTSTR Value=Dlg.GetPathName()+" %1"; LPCTSTR StrKey="AudioCD//Shell//Play//Command"; if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_CLASSES_ROOT,StrKey,NULL,KEY_ALL_ACCESS,&hKey)) { if (ERROR_SUCCESS==::RegSetValueEx(hKey,(LPCTSTR)KeyValue,0,REG_SZ,(BYTE *)(LPCSTR)Value,strlen(Value)+1)) MessageBox("请注销计算机,查看设置结果","信息提示",MB_OK); ::RegCloseKey(hKey); } } #include #include "./testdlg.h" void CTestDlg::OnBnClickedBtnopenclose() { //关闭光驱 //::mciSendString("set cdaudio door closed",NULL,0,0); //打开光驱 ::mciSendString("set cdaudio door open",NULL,0,0); } void CTestDlg::OnBnClickedBtnmemory() { CString StrTotalMemory; CString StrUsedMemory; CString StrFreeMemory; CString StrInfo; MEMORYSTATUS MemStat; MemStat.dwLength=sizeof(MEMORYSTATUS); ::GlobalMemoryStatus(&MemStat); StrTotalMemory.Format("系统总内存:%ld字节,大约等于: %ld M Byte/n",MemStat.dwTotalPhys,MemStat.dwTotalPhys/1024/1024); StrFreeMemory.Format("系统可用内存:%ld字节,大约等于: %ld M Byte/n",MemStat.dwAvailPhys,MemStat.dwAvailPhys/1024/1024); StrUsedMemory.Format("系统已用内存:%ld字节,大约等于: %ld M Byte/n", MemStat.dwTotalPhys-MemStat.dwAvailPhys, MemStat.dwTotalPhys/1024/1024-MemStat.dwAvailPhys/1024/1024); StrInfo+=StrTotalMemory+StrUsedMemory+StrFreeMemory; MessageBox(StrInfo,"信息提示",MB_OK); } void CTestDlg::OnBnClickedButton2() { HKEY hKey; LPCTSTR KeyValue="NoDrives"; DWORD Value=0; LPCTSTR StrKey="Software//Microsoft//Windows//CurrentVersion//Policies//Explorer"; if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_CURRENT_USER,StrKey,NULL,KEY_ALL_ACCESS,&hKey)) { if (ERROR_SUCCESS==::RegSetValueEx(hKey,(LPCTSTR)KeyValue,0,REG_BINARY,(BYTE *)&Value,sizeof(Value))) MessageBox("已经成功取消隐藏的驱动器,请注销计算机,查看设置结果","信息提示",MB_OK); ::RegCloseKey(hKey); } }