博客介绍内容

Subscribe RSS FeedSubscribe Comments

VC中如何遍历驱动器

下面程序是根据自己程序整理出来,方便各位参考,在VC上枚举驱动器方法也很简单,很容易找到加载的本地硬盘或是U盘驱动器号。

主要涉及几个函数:GetLogicalDriveStrings、GetLogicalDrives、GetDriveType。

示例程序:

DWORD   dwBuffer=512;   
TCHAR    szBuffer[512];
memset(szBuffer,0,dwBuffer);
int dSize=GetLogicalDriveStrings(dwBuffer,szBuffer);//print szBuffer for detail
if(dSize==0)    {//no drive found
    return -1;   
}   

TCHAR   szTmp[4];
memset(szTmp,0,4);

for(int i=0;i<dSize;i+=4)   {
    if(szBuffer[i]!='\0')    {
        wmemcpy(szTmp,&szBuffer[i],4);

        UINT drvtype=GetDriveType(szTmp);
        switch(drvtype)   {
            case DRIVE_UNKNOWN:
                break;
            case   DRIVE_REMOVABLE://floppy or u-disk
            break;   
            case   DRIVE_FIXED://hard disk
            //GetVolumeInformation();
            //GetDiskFreeSpace(szDrivers);   
            break;
            case   DRIVE_REMOTE:   
            break;   
            case   DRIVE_CDROM:   
            break;   
            case   DRIVE_RAMDISK:   
            break;   
        }  
    } 
}

其中,szBuffer返回值如下图:

更多参考:

http://www.cnblogs.com/dabiao/p/3576697.html

相关文章: 打印文章

相关评论:  

发表评论:

订阅博客

最新文章

Copyright information
MyBlog 1.8