QQ登录

只需一步,快速开始

194上位机VC MFC判断驱动器的类型

[ 复制链接 ]

194上位机VC MFC判断驱动器的类型

194上位机VC MFC判断驱动器的类型
194上位机VC MFC判断驱动器的类型
功能展示
一般我们电脑的驱动器只有硬盘和光驱,常用的还有U盘等,我们当前例程实现当前系统指定驱动类型的判断功能,通过选择不同驱动器,会相应显示出选择驱动器的类型,效果如图;
要点提示
1.驱动器的获取可以用函数GetDriveType() ,函数原型为UINTGetDriveType(
LPCTSTR lpRootPathName ) lpRootPathName 包含了根目录路径的字符串指针;
返回值:
DRIVE_UNKNOWN 未知的磁盘类型
DRIVE_NO_ROOT_DIR 说明lpRootPathName是无效的
DRIVE_REMOVABLE 可移动磁盘
DRIVE_FIXED 固定磁盘
DRIVE_REMOTE 网络磁盘
DRIVE_CDROM 光驱
DRIVE_RAMDISK 为RAM
2.根目录也就是盘符的获取可以用函数GetLogicalDriveStrings(),函数原型DWORD WINAPI GetLogicalDriveStrings( _In_DWORDnBufferLength, _Out_LPTSTR lpBuffer); nBufferLength:缓冲区的尺寸 不包括结尾的'\0' 如果是此参数为0 后面的lpBuffer则不使用
lpBuffer:缓冲区
返回值:
函数执行成功..返回填充完毕的缓冲区字符的的个数..不是长度..char和TCHAR 返回数目都是一样的..
一般是4的倍数...(形如C:\ 包括之后的一个空字符0)..
如果缓冲区不够大,则返回值大于nBufferLength
如果失败..函数返回0..若想获得更多的错误信息,请使用GetLastError函数
实现功能
1.新建基于对话框的应用程序
2.拖拽一COMBOBOX控件ID为IDC_COMBO1,用于罗列出当前系统的有效盘符;
手提一编辑框ID为IDC_EDIT1用于显示选择的驱动器的类型;
3.添加COMBOBOX组合框控件的选择改变触发函数,实现选择盘符驱动类型的判断;
4.自定义函数InitCom()用于将当前系统全部盘符添加到combobox;在程序初始化时调用此函数一次;
  1. void CGkbc8Dlg::InitCom()
  2. {
  3.         CComboBox* pCombobox = (CComboBox*)GetDlgItem(IDC_COMBO1);
  4.         size_t alldriver=::GetLogicalDriveStrings(0,NULL);
  5.         _TCHAR *driverstr;
  6.         driverstr=new _TCHAR[alldriver+sizeof(_T(""))];
  7.         if(GetLogicalDriveStrings(alldriver,driverstr)!=alldriver-1)
  8.                 return ;
  9.         _TCHAR *pdriverstr=driverstr;
  10.         size_t driversize=strlen(pdriverstr);
  11.         while(driversize>0)
  12.         {
  13.                 pCombobox->AddString(pdriverstr);
  14.                 pdriverstr+=driversize+1;
  15.                 driversize=strlen(pdriverstr);
  16.         }
  17.         pCombobox->SetCurSel(0);
  18.         OnSelchangeCombo1() ;
  19. }
复制代码
  1. void CGkbc8Dlg::OnSelchangeCombo1()
  2. {
  3.         CComboBox* pCombobox = (CComboBox*)GetDlgItem(IDC_COMBO1);
  4.         //
  5.         CString itemstr;
  6.         pCombobox->GetLBText(pCombobox->GetCurSel(),itemstr);
  7.         switch(::GetDriveType(itemstr))
  8.         {
  9.         case 2:
  10.                 SetDlgItemText(IDC_EDIT1,"移动硬盘");
  11.                 break;
  12.         case 3:
  13.                 SetDlgItemText(IDC_EDIT1,"固定硬盘");
  14.                 break;
  15.         case 5:
  16.                 SetDlgItemText(IDC_EDIT1,"光驱");
  17.                 break;
  18.         case 4:
  19.                 SetDlgItemText(IDC_EDIT1,"网络驱动器");
  20.                 break;
  21.         case 6:
  22.                 SetDlgItemText(IDC_EDIT1,"RAM");
  23.                 break;
  24.         default:
  25.                 SetDlgItemText(IDC_EDIT1,"未知");
  26.                 break;
  27.         }        
  28. }
复制代码
我们来演示下功能实现的整个过程
请点击此处下载

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

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

文件名称:194.上位机VC MFC判断驱动器的类型.rar 
文件大小:152.41 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

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

  

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

  

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


回复

使用道具 举报

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