博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GetLogicalDrives,GetLogicalDriveStrings,GetDri...
阅读量:6229 次
发布时间:2019-06-21

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

hot3.png

 GetLogicalDrives,GetLogicalDriveStrings,GetDriveType
#include "stdafx.h"  #include 
#include
#include
#include
#ifdef _UNICODE #define tcout wcout #else #define tcout cout #endif int _tmain(int argc, _TCHAR* argv[]) { TCHAR tables[][4] = { _T("A://"), _T("B://"), _T("C://"), _T("D://"), _T("E://"), _T("F://"), _T("G://"), _T("H://") }; std::bitset<32> bitMap(::GetLogicalDrives()); for (size_t i = 0; i < bitMap.size() && i < sizeof(tables) / 4; i++) { if (bitMap[i]) { std::tcout << tables[i] << std::endl; } } std::cout << _T("--------------------------------------------") << std::endl; TCHAR pszBuffer[MAX_PATH]; DWORD nCnt = ::GetLogicalDriveStrings(MAX_PATH, pszBuffer); TCHAR* p; if (nCnt > 0) { p = pszBuffer; while (*p != _T('/0')) { std::tcout << p << std::endl; p = p + _tcslen(p) + 1; } } /*TCHAR szBuffer[MAX_PATH]; HANDLE handle = ::FindFirstVolume(szBuffer, MAX_PATH); if (handle != NULL) { do{ std::tcout << szBuffer << std::endl; }while (::FindNextVolume(handle, szBuffer, MAX_PATH)); ::FindVolumeClose(handle); }*/ for (size_t i = 0; i < sizeof(tables) / 4; i++) { UINT nRet = ::GetDriveType(tables[i]); //#define DRIVE_UNKNOWN 0 //#define DRIVE_NO_ROOT_DIR 1 //#define DRIVE_REMOVABLE 2 //#define DRIVE_FIXED 3 //#define DRIVE_REMOTE 4 //#define DRIVE_CDROM 5 //#define DRIVE_RAMDISK 6 switch (nRet) { case DRIVE_UNKNOWN: std::tcout << tables[i] << _T("DRIVE_UNKNOWN") << std::endl; break; case DRIVE_NO_ROOT_DIR: std::tcout << tables[i] << _T("DRIVE_NO_ROOT_DIR") << std::endl; break; case DRIVE_REMOVABLE: std::tcout << tables[i] << _T("DRIVE_REMOVABLE") << std::endl; break; case DRIVE_FIXED: std::tcout << tables[i] << _T("DRIVE_FIXED") << std::endl; break; case DRIVE_REMOTE: std::tcout << tables[i] << _T("DRIVE_REMOTE") << std::endl; break; case DRIVE_CDROM: std::tcout << tables[i] << _T("DRIVE_CDROM") << std::endl; break; case DRIVE_RAMDISK: std::tcout << tables[i] << _T("DRIVE_RAMDISK") << std::endl; break; } } return 0; }

转载于:https://my.oschina.net/ypimgt/blog/68478

你可能感兴趣的文章
我们一起来聊聊并发吧,one。
查看>>
每日英语:China Pipeline Explosions Kill 52
查看>>
paip.提升性能---jvm java 工具使用.
查看>>
java实现可有括号的android计算器
查看>>
8个免费且实用的C++ GUI库(转载)
查看>>
WGS84 2 GCJ-02
查看>>
RotateAnimation详解
查看>>
GNU make 指南
查看>>
每日英语:How to Save Detroit
查看>>
SQL中以count或sum为条件的查询方式
查看>>
[原]Windows Azure开发之Linux虚拟机
查看>>
[转]MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
查看>>
SqlServer查询中使用事务
查看>>
ipv6相关
查看>>
粒子加到骨骼中
查看>>
VS2010几款超赞的扩展辅助工具总结
查看>>
Tomcat embed
查看>>
Asp.Net Web API 2第六课——Web API路由和动作选择
查看>>
如何使用seajs+jQuery构建中型项目
查看>>
js html5推送 实例
查看>>