Keep on going, never give up.

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

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.