QQ登录

只需一步,快速开始

218上位机VC MFC系统启动模式及系统鼠标相关信息获取

[ 复制链接 ]

218上位机VC MFC系统启动模式及系统鼠标相关信息获取

218上位机VC MFC系统启动模式及系统鼠标相关信息获取
218上位机VC MFC系统启动模式及系统鼠标相关信息获
功能展示
当我们电脑启动时,按F8等快捷键会看到各种启动电脑的选项如正常启动,安全模式等等,我们当前例程通过自己编写代码实现当前系统启动方式的获取,额外通过相同的方法,还可获取鼠标相关的信息,效果如图,点击获得系统启动模式,会从组合框的启动模式中选择出当前系统的启动模式;
要点提示
系统启动模式的获取是通过GetSystemMetrics()函数来获得的; GetSystemMetrics ()用于得到被定义的系统数据或者系统配置信息; 函数原型:intWINAPI GetSystemMetrics( __in intnIndex);函数仅跟一个参数,参数的取值众多,可以查阅MSDN手册;系统启动模式的获取可以用int nIndex=::GetSystemMetrics(SM_CLEANBOOT);来取得 返回的值就是对应系统的启动模式;
实现功能
1.新建基于对话框的应用程序
2.拖拽 按钮<获得系统启动模式><鼠标上按键数><是否有鼠标安装><鼠标左右键对调了><系统处理器水平>关联函数;拖拽编辑框IDC_EDIT1, IDC_EDIT2,组合框ID为IDC_COMBO1用于罗列出系统的全部启动模式
3.在对话框OnInitDialog()函数中初始化  CComboBox* pCombo= (CComboBox*)GetDlgItem(IDC_COMBO1);
  pCombo->InsertString(0,"Normalboot");//插入文本
  pCombo->InsertString(0,"Fail-safeboot");
  pCombo->InsertString(0,"Fail-safewith network boot");
  pCombo->SetCurSel(0);//选择当前显示文本
4.实现各个按钮的关联函数
  1. void CGkbc8Dlg::OnProcessor()
  2. {
  3.         BOOL bMouseSwap = GetSystemMetrics(SM_SLOWMACHINE);        
  4.         if(bMouseSwap)
  5.                 MessageBox("系统拥有低处理器");
  6.         else
  7.                 MessageBox("系统拥有高处理器");
  8. }
复制代码
  1. void CGkbc8Dlg::OnMouseswap()
  2. {
  3.         BOOL bMouseSwap = GetSystemMetrics(SM_SLOWMACHINE);        
  4.         if(bMouseSwap)
  5.                 MessageBox("鼠标左右键已对调");
  6.         else
  7.                 MessageBox("鼠标左右键未对调");
  8. }
  9. #define SM_MOUSEWHEELPRESENT 75
  10. void CGkbc8Dlg::OnMousenums()
  11. {
  12.         BOOL bMouse = GetSystemMetrics(SM_MOUSEPRESENT);//是否有鼠标安装
  13.         BOOL bMouseWhile = GetSystemMetrics(SM_MOUSEWHEELPRESENT);//安装的鼠标是否有中键
  14.         CString sText;
  15.         if(bMouse)
  16.                 sText.Format("有鼠标安装,鼠标有%d个中键",bMouseWhile);
  17.         else
  18.                 sText="系统未安装鼠标";
  19.         SetDlgItemText(IDC_EDIT2,sText);
  20.         
  21. }
  22. void CGkbc8Dlg::OnMousenum()
  23. {
  24.         int nNum = GetSystemMetrics(SM_CMOUSEBUTTONS);
  25.         CString sText;
  26.         sText.Format("共%d个鼠标按键数",nNum);
  27.         SetDlgItemText(IDC_EDIT1,sText);
  28. }
  29. void CGkbc8Dlg::OnSysmode()
  30. {
  31.         CComboBox* pCombo = (CComboBox*)GetDlgItem(IDC_COMBO1);//获得组合框指针
  32.         int nCount = pCombo->GetCount();
  33.         CString sComText; int i;
  34.         int nIndex=::GetSystemMetrics(SM_CLEANBOOT);//获取系统启动模式
  35.         switch(nIndex)
  36.         {case 0:
  37.                 for(i=0;i<nCount;i++)
  38.                 {
  39.                         pCombo->GetLBText(i,sComText);
  40.                         if(sComText=="Normal boot")
  41.                                 pCombo->SetCurSel(i);
  42.                 }
  43.                 break;
复制代码
  1. case 1:
  2.                 for(i=0;i<nCount;i++)
  3.                 {
  4.                         pCombo->GetLBText(i,sComText);
  5.                         if(sComText=="Fail-safe boot")
  6.                                 pCombo->SetCurSel(i);
  7.                 }
  8.                 break;
  9.         case 2:
  10.                 for(i=0;i<nCount;i++)
  11.                 {
  12.                         pCombo->GetLBText(i,sComText);
  13.                         if(sComText=="Fail-safe with network boot")
  14.                                 pCombo->SetCurSel(i);
  15.                 }
  16.                 break;
  17.         default:
  18.                 break;
  19.         }
  20. }
复制代码
我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:218.上位机VC MFC系统启动模式及系统鼠标相关信息获取.rar 
文件大小:137.75 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索