标识符未找到FindFirstFile

Identifier not found FindFirstFile

本文关键字:FindFirstFile 标识符      更新时间:2023-10-16

我试图使用这个函数FindFirstFile是在windows API,我以前用过它,但我找不到它了。它只是告诉我没有找到标识符。我有它的其他变体FindFirstFileExW, FindFirstFileExA和FindFirstFileEx,但我没有FindFirstFile。我甚至可以包括它应该在FileAPI.h中的特定头。我在这里读到一个类似的问题,我应该在windows.h之前包含stdafx.h,但我甚至找不到stdafx.h。

https://msdn.microsoft.com/en-us/library/windows/desktop/aa364418 (v = vs.85) . aspx

如果你不能回答这个问题,可以描述如何使用FindFirstFileEx做同样的事情作为FindFirstFile FindFirstFileEx已被描述为msdn的FindFirstFile与更多的属性。

FindFirstFile文档为

最小支持的客户端:Windows XP [仅限桌面应用程序]

该API不适用于通用应用程序。通用等价物为StorageFolder.GetItemsAsync

根据所有Windows 10设备上存在的api, FindFirstFile10.0.14393.0版本出现在Windows 10中,而FindFirstFileEx10.0.10240.0版本出现。14393是周年更新,10240来自"阈值1",也就是RTM。"1507年版"。所以你可能有一个旧版本的Windows API。我不确定为什么微软只提供其中一个功能,而不提供另一个,而这两个功能之前都是可用的——也许只是一个疏忽?

所以你最简单的解决办法就是升级到Windows 10周年更新或更高版本。

如果做不到这一点,这也是一个非常简单的代码更改。根据TFM:

下面的调用:

FindFirstFileEx( lpFileName, 
                 FindExInfoStandard, 
                 lpFindData, 
                 FindExSearchNameMatch, 
                 NULL, 
                 0 );

相当于以下调用:

FindFirstFile( lpFileName, lpFindData );