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

推荐订阅源

N
Netflix TechBlog - Medium
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
博客园 - 【当耐特】
雷峰网
雷峰网
宝玉的分享
宝玉的分享
IT之家
IT之家
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
博客园 - 叶小钗
V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
美团技术团队
爱范儿
爱范儿
T
The Blog of Author Tim Ferriss
L
LangChain Blog
U
Unit 42
有赞技术团队
有赞技术团队
博客园_首页

博客园 - 龙巢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<<"你的是移动磁盘"<