2010-03-03 70 views
3

我可以使用以下代碼獲取文件的創建日期,文件大小等:如何通過Windows本機API獲取目錄信息?

// Error handling removed for brevity 
HANDLE hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ, 
      NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 

LARGE_INTEGER fileSize; 
GetFileSizeEx(hFile, &fileSize); 

FILE_BASIC_INFO fileInfo); 
GetFileInformationByHandle(hFile, FileBasicInfo, fileInfo, sizeof(fileInfo)); 

但是當針對目錄調用時,所有值都設置爲零 - 如何獲取目錄信息?

謝謝

回答

8

我碰到了這樣的事情,一旦你要通過這個標誌來得到一個目錄中的有效句柄。來自MSDN文檔。

試試這個

HANDLE hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ, 
     NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_BACKUP_SEMANTICS, NULL); 

FILE_FLAG_BACKUP_SEMANTICS |您必須設置此標誌以獲取目錄的句柄。目錄句柄可以傳遞給一些函數而不是文件句柄。有關更多信息,請參閱備註部分。

+0

是的,我發現我發佈問題後,你發現,謝謝 – MalcomTucker 2010-03-03 13:21:12