VC++库函数获取window当前驱动盘符发现新U盘插入则报告

来源:互联网 发布:金十数据盘 编辑:程序博客网 时间:2024/06/05 16:20

#include <fileapi.h>static DWORD oldDisc;void init(void){static bool flag = false;if (!flag){oldDisc = GetLogicalDrives();flag = true;}}// 发现新的逻辑盘bool isNew(DWORD _isNewDisc){if (oldDisc < _isNewDisc){return true;}return false;}// 寻找出新的逻辑盘位DWORD findDisc(DWORD _newDisc, DWORD _oldDisc){return (_newDisc ^ _oldDisc);}char dictionary(DWORD _disc){ char dict = 'A'; int i = 0;for (; i < 26; i++){bool flag = _disc & 0x1;if (flag){break;}_disc >>= 1;}return dict + i;}// 发现U盘/** 返回值:是否有新盘符* 参数1: 返回新盘符字母*/bool USB::findUSBDisc(std::string& _USB){init();DWORD isNewDisc = GetLogicalDrives();//isNewDisc = 62;// 发现新的逻辑盘if (isNew(isNewDisc)){// 寻找出新的逻辑盘位DWORD theDisc = findDisc(isNewDisc, oldDisc);if (theDisc == 0){return false;}// 对应字典,返回逻辑盘盘符_USB = dictionary(theDisc);oldDisc = isNewDisc;return true;}   return false;}



调用findUSBDisc

/** 返回值:是否有新盘符* 参数1: 返回新盘符字母*/


3 0
原创粉丝点击