各位大佬,小弟初用Win API不久,請問代碼如下:
TCHAR volumeNameSystem[MAX_PATH];
memset(volumeNameSystem,0,sizeof(volumeNameSystem));
CString strVolumeName = CString(szVolumeNameBuf);
USES_CONVERSION;
LPWSTR lpVolumeName = A2W(W2A(strVolumeName));
DWORD dwVolumeSerialNum;
DWORD dwMaxCompontentLength;
DWORD dwSysFlags;
GetVolumeInformationW(letter, lpVolumeName, 0, NULL, NULL, NULL, volumeNameSystem, MAX_PATH);
這段代碼有問題嗎?為啥沒有獲取它的檔案系統型別名呢?比如我的磁盤檔案系統型別是NTFS,它卻讀取出來的是空的,還望大家給點意見指正一下,代碼里哪里錯了?不勝感激!!
uj5u.com熱心網友回復:
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
WCHAR wsVolumeName[256] = {0};
DWORD dwVolumeSerialNumber = 0;
DWORD dwMaximumComponentLength = 0;
DWORD dwpFileSystemFlags = 0;
WCHAR wsFileSystemNameBuffer[32] = {0};
if(GetVolumeInformationW(
L"C:\\",
wsVolumeName,
_countof(wsVolumeName),
&dwVolumeSerialNumber,
&dwMaximumComponentLength,
&dwpFileSystemFlags,
wsFileSystemNameBuffer,
_countof(wsFileSystemNameBuffer))
)
{
wprintf(L"VolumeName=%s\n", wsVolumeName);
wprintf(L"SerialNumber=%04X-%04X\n",
HIWORD(dwVolumeSerialNumber), LOWORD(dwVolumeSerialNumber));
wprintf(L"MaximumComponentLength=%u\n", dwMaximumComponentLength);
#define caseX(x) if(dwpFileSystemFlags & (x)) { printf("%s\n", #x); }
caseX(FILE_CASE_PRESERVED_NAMES);
caseX(FILE_CASE_SENSITIVE_SEARCH);
caseX(FILE_FILE_COMPRESSION);
caseX(FILE_NAMED_STREAMS);
caseX(FILE_PERSISTENT_ACLS);
caseX(FILE_READ_ONLY_VOLUME);
caseX(FILE_SEQUENTIAL_WRITE_ONCE);
caseX(FILE_SUPPORTS_ENCRYPTION);
caseX(FILE_SUPPORTS_OBJECT_IDS);
caseX(FILE_SUPPORTS_REPARSE_POINTS);
caseX(FILE_SUPPORTS_SPARSE_FILES);
caseX(FILE_SUPPORTS_TRANSACTIONS);
caseX(FILE_UNICODE_ON_DISK);
caseX(FILE_VOLUME_IS_COMPRESSED);
caseX(FILE_VOLUME_QUOTAS);
wprintf(L"FileSystem=%s\n", wsFileSystemNameBuffer);
}
else
{
printf("GetVolumeInformationW falied %u\n", GetLastError());
}
return 0;
}
uj5u.com熱心網友回復:

多謝了,不過,大佬,可以再多問一個問題嗎?一個磁盤多個磁區在獲取它的檔案系統型別(它們所有磁區都是同一個檔案系統型別的),也沒有獲取出來???
uj5u.com熱心網友回復:
https://docs.microsoft.com/en-us/windows/win32/fileio/displaying-volume-paths
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/8928.html
標籤:硬件/系統
上一篇:匯出Excel資料
下一篇:騰訊會議 共享桌面時,如何做到 共享桌面忽略掉上層的 工具條 和其它視窗的