博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VC++ U盘自动扫描
阅读量:2491 次
发布时间:2019-05-11

本文共 1884 字,大约阅读时间需要 6 分钟。

#include 
#include
#include
#include
int traverseDir(const std::string &_dir);/// @brief : `traverseDir` call `traverseRoute`/// @param : _filePath file abs path/// @param : _fileData file information/// @remark:int traverseRoute(const std::string &_filePath, const _finddata_t &_fileData);char dictionary(unsigned long _disk);int main(void) { unsigned long old_disk = GetLogicalDrives(); unsigned long ret_disk = 0; do { Sleep(1000); // get disk ret_disk = GetLogicalDrives(); if (ret_disk >= old_disk) { // get new disk unsigned long new_disk = old_disk ^ ret_disk; if (new_disk) { // get drive char disk = dictionary(new_disk); const std::string& disk_path = disk + std::string(":/"); traverseDir(disk_path); } } // modify old disk old_disk = ret_disk; } while (true); getchar(); return 0;}char dictionary(unsigned long _disk) { char dict = 'A'; int i = 0; for (; i < 26; i++) { bool flag = _disk & 0x1; if (flag) { break; } _disk >>= 1; } return dict + i;}int traverseRoute(const std::string &_filePath, const _finddata_t &_fileData) { std::string file_name = _filePath + "\\" + _fileData.name;#if defined(_DEBUG) std::cout << _filePath.c_str() << ":" << _fileData.name << std::endl;#endif return 0;}int traverseDir(const std::string &_dir) { std::string dir_new = _dir + "\\*.*"; intptr_t handle; _finddata_t file_data; handle = _findfirst(dir_new.c_str(), &file_data); // check file if (handle == -1) return -1; do { if (file_data.attrib & _A_SUBDIR) { if (strcmp(file_data.name, ".") == 0 || strcmp(file_data.name, "..") == 0) continue; // add to directory "\\" dir_new = _dir + '\\' + file_data.name; traverseDir(dir_new); } else traverseRoute(_dir, file_data); } while (0 == _findnext(handle, &file_data)); _findclose(handle); return 0;}

安全卫士就好似身边的护卫,一旦反叛,安全就只是一纸空谈。

转载地址:http://raqrb.baihongyu.com/

你可能感兴趣的文章
apache下虚拟域名配置
查看>>
session和cookie区别与联系
查看>>
PHP 实现笛卡尔积
查看>>
Laravel中的$loop
查看>>
CentOS7 重置root密码
查看>>
Centos安装Python3
查看>>
PHP批量插入
查看>>
laravel连接sql server 2008
查看>>
Laravel 操作redis的各种数据类型
查看>>
Laravel框架学习笔记之任务调度(定时任务)
查看>>
laravel 定时任务秒级执行
查看>>
浅析 Laravel 官方文档推荐的 Nginx 配置
查看>>
Swagger在Laravel项目中的使用
查看>>
Laravel 的生命周期
查看>>
CentOS Docker 安装
查看>>
Nginx
查看>>
Navicat远程连接云主机数据库
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
Mysql出现Table 'performance_schema.session_status' doesn't exist
查看>>
MySQL innert join、left join、right join等理解
查看>>