2010-03-03 68 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