VC 得到U盤信息

得到U盤的信息,直接代碼:code

INT GetUDiskInfo(void)
{
	CString szUDiskRoot;
	UINT unDiskType;
	size_t nAllDriverStr=GetLogicalDriveStringsW(0,NULL);
	TCHAR *pDriverStr=new TCHAR[nAllDriverStr+sizeof(_T(""))];
	TCHAR *pSavePoint=pDriverStr;
	GetLogicalDriveStringsW(nAllDriverStr,pDriverStr);
	size_t nSize=_tcslen(pDriverStr);
	while (nSize>0)
	{
	    unDiskType=GetDriveTypeW(pDriverStr);
	    switch (unDiskType)
	    {
	        case DRIVE_NO_ROOT_DIR: 
	            break;
	        case DRIVE_REMOVABLE:
	            szUDiskRoot=pDriverStr;
	            //AfxMessageBox(szUDiskRoot);
	        case DRIVE_FIXED:
	            break;
	        case DRIVE_REMOTE:  
	            break;
	        case DRIVE_CDROM: 
	            break;
	     }
	        pDriverStr += (nSize + 1)*sizeof(_T(""));
	        nSize=_tcslen(pDriverStr);
	}
	    delete []pSavePoint;
	    DWORD nVolumeNameSize = _MAX_FNAME;
	    LPTSTR lpVolumeNameBuffer = new TCHAR[_MAX_FNAME];
	    DWORD nVolumeSerialNumber = 0;
        DWORD nMaximumComponentLength; 
	    DWORD nFileSystemFlags;
	    LPTSTR lpFileSystemNameBuffer = new TCHAR[40];
 GetVolumeInformationW(szUDiskRoot,lpVolumeNameBuffer,nVolumeNameSize,&nVolumeSerialNumber,&nMaximumComponentLength,&nFileSystemFlags,lpFileSystemNameBuffer,40);
	    delete[]lpVolumeNameBuffer;
	    delete[]lpFileSystemNameBuffer;
	    return 0;
}
相關文章
相關標籤/搜索