判断WINDOWS文件系统是FAT32还是NTFS的API是什么?
找没找着,搜也没搜着。
[解决办法]
BOOL GetVolumeInformation(
LPCTSTR lpRootPathName, // root directory
LPTSTR lpVolumeNameBuffer, // volume name buffer
DWORD nVolumeNameSize, // length of name buffer
LPDWORD lpVolumeSerialNumber, // volume serial number
LPDWORD lpMaximumComponentLength, // maximum file name length
LPDWORD lpFileSystemFlags, // file system options
LPTSTR lpFileSystemNameBuffer, // file system name buffer
DWORD nFileSystemNameSize // length of file system name buffer
);
API函数GetVolumeInformation来获取磁盘分区的信息。具体的调用方法请参阅MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fsys_6wfi.asp
还可以在MSDN中找到一个相关的示例:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fsys_2acz.asp
[解决办法]
来晚了,楼上正解
[解决办法]
[解决办法]
TCHAR RootPathName[] = TEXT("C:\\"); //查询分区根目录
//TCHAR lpVolumeNameBuffer[255]; //硬盘卷标名称
//DWORD dwVolumeSerialNumber; //序列号
//DWORD dwMaximumComponentLength; //文件名最大长度
//DWORD FileSystemFlags; //文件系统标志
TCHAR FSType[20];
if (!GetVolumeInformationA(RootPathName, NULL, 0,
NULL,
NULL,
NULL, FSType, sizeof(FSType) ) )
{
DWORD error = GetLastError();
MessageBox (NULL, "Get FileSystem error", TEXT ("myGegProgram"), 0);
exit (0);
}
if (strcmp(FSType, "FAT") == 0)
//是FAT32
{
//你的代码
}
else if (strcmp(FSType, "NTFS") == 0)
//是NTFS
{
//你的代码
}