惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
Y
Y Combinator Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
M
MIT News - Artificial intelligence
GbyAI
GbyAI
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
J
Java Code Geeks
IT之家
IT之家
Microsoft Azure Blog
Microsoft Azure Blog
V
V2EX
爱范儿
爱范儿
N
Netflix TechBlog - Medium
U
Unit 42
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
博客园 - 叶小钗
G
Google Developers Blog
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
腾讯CDC

博客园 - 龙巢NET刀

Windows位图文件格式[转] Windows堆栈区别[转] 聚焦3D地形编程第五章GeomipMapping for the CLOD 聚焦3D地形编程第四章光照化地形 聚焦3D地形编程第三章纹理化地形 聚焦3D地形编程第一章 The Journey into the great Outdoors 聚焦3D地形编程第二章Terrain 101 文件遍历目录 和InjectFile配套InjectDLL - 龙巢NET刀 - 博客园 和InjectFile配套TestOne 激动的InjectFile 通过GUI方式打印信息 PE文件加区块 PE文件 我的简历 进度 我的经历我的历史 内嵌Lua问题 BGET内存分配器
枚举驱动器 - 龙巢NET刀 - 博客园
龙巢NET刀 · 2007-05-24 · via 博客园 - 龙巢NET刀

//测试 含有空格的文件名, 检测, 文件名内是否有空格。 //另外就是使用 SEH异常处理 #include

#include #include using namespace std; int RetDriveTypeStr(char* szTypeStr, int nType) { char szNoType[] = "未知类型"; char szLogical[] = "硬盘驱动器"; char szCDROM[] = "光盘驱动器"; char szRemovable[] = "移动设备"; //是否是软驱 U盘也属于 switch(nType) { case DRIVE_UNKNOWN: lstrcpyn(szTypeStr, szNoType, lstrlen(szNoType)+1); break; case DRIVE_FIXED: lstrcpyn(szTypeStr, szLogical, lstrlen(szLogical)+1); break; case DRIVE_CDROM: lstrcpyn(szTypeStr, szCDROM, lstrlen(szCDROM)+1); break; case DRIVE_REMOVABLE: lstrcpyn(szTypeStr, szRemovable, lstrlen(szRemovable)+1); break; default: lstrcpyn(szTypeStr, szNoType, lstrlen(szNoType)+1); break; } HANDLE hDisk = CreateFile("\\\\.\\D:", GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if(hDisk != INVALID_HANDLE_VALUE) { DISK_GEOMETRY dgDisk; DWORD dwNotUsed = 0; if(DeviceIoControl(hDisk, 0, 0, 0, &dgDisk, sizeof(dgDisk), &dwNotUsed, NULL)) { if(dgDisk.MediaType == RemovableMedia) { cout<<"你的是移动磁盘"<