PC信息操作篇

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); } }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins进阶主要涉及到在Jenkins中使用多分支管道来进行持续集成、持续传送和持续部署的操作。首先,你需要准备好Git库,并按照指南在不同平台上安装Jenkins。接下来,你可以使用多分支管道来配置Jenkins以实现集成、测试和交付等阶段。这些阶段可以根据正在构建的分支进行选择性地执行。例如,你可以添加“交付和生产部署”阶段,并且在该阶段中添加当分支为"development"时的执行步骤和当分支为"production"时的执行步骤。在这些步骤中,你可以指定要执行的脚本命令,例如运行测试、部署到开发环境或部署到生产环境。你也可以在适当的阶段添加交互式输入,以便在执行过程中进行人工干预。最后,你可以使用Jenkinsfile来定义整个多分支管道的流程和步骤。这样,你就可以在Jenkins中实现更高级的持续集成和部署方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Jenkins | 进阶 | 端对端多分支Pipeline](https://blog.csdn.net/weixin_37417954/article/details/83412133)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Jenkins进阶](https://download.csdn.net/download/weixin_26704349/19545011)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值