zoukankan      html  css  js  c++  java
  • VC识别有USB存储设备插入

    我们平时会遇到要知道是否有存储设备的插入的情况,以下提供两种方法:

    第一种方法:

          在MFC中为开口添加WindowProc消息相应函数,例如:

          LRESULT CMyDlgDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
          {
             switch(message)   
             {   
             case WM_DEVICECHANGE: 
                  char t;
                  for(t='c';t<'z';t++)
                  {
                     CString str;
                     str.Format(_T("%c"),t);
                     str+=":\\";
                     if(GetDriveType(str)==DRIVE_REMOVABLE)
                     {
                        AfxMessageBox(_T("U盘插入或拔出!"));
                     }
                  }
                  break;  
                 }
             return CDialog::WindowProc(message, wParam, lParam);
          } 

          这种方法不够精确,因为插入和拔出都会同时

    第二种方法:

          可以通过ACtivex控件(Microsoft SysInfo Control)来获知有存储设备插入。

          现在窗口中添加一个Microsoft SysInfo Control的对象,然后添加DeviceArrival消息函数

          例如:

          void CMyDlgDlg::OnDeviceArrivalSysinfo1(long DeviceType, long DeviceID, LPCTSTR DeviceName, long DeviceData)
          {
             AfxMessageBox(_T("U盘插入!"));
             //在此可以添加对存储设备的操作。
          }

          这种方法比较实用。

  • 相关阅读:
    【胡策篇】题目
    【学术篇】luogu3768 简单的数学题(纯口胡无代码)
    【学术篇】规律选手再次证明自己(舒老师的胡策题 T2 LX还在迷路)
    【模板篇】Link Cut Tree模板(指针)
    【学术篇】51nod 1238 最小公倍数之和
    【学术篇】2.28测试T2 线段 拓扑排序
    【学术篇】SPOJ FTOUR2 点分治
    【颓废篇】Py:从零开始的poj自动提交
    【学术篇】CF935E Fafa and Ancient Mathematics 树形dp
    安卓启动图去除顶部title和状态栏
  • 原文地址:https://www.cnblogs.com/pbreak/p/1771454.html
Copyright © 2011-2022 走看看