【问题标题】:Identifier not found FindFirstFile找不到标识符 FindFirstFile
【发布时间】:2015-08-27 03:24:52
【问题描述】:

我正在尝试使用 Windows API 中的 FindFirstFile 函数,我以前使用过它,但现在找不到了。它只是告诉我找不到标识符。我有 FindFirstFileExW、FindFirstFileExA 和 FindFirstFileEx 的其他变体,但我没有 FindFirstFile。我什至可以包含它应该在 FileAPI.h 中的特定标头。我在here 上读到了类似的问题,我应该在 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。

【问题讨论】:

  • 您使用哪个编译器?什么版本?例如是 Visual Studio 2013 吗?
  • @BarmakShemirani vs2015 (v140)
  • 这毫无意义。 FindFirstFileFindFirstFileEx 在同一个头文件中。 include "windows.h" 应该足够了。你可能需要也可能不需要"stdafx.h" 如果 VS2015 没有抱怨它,那么你就不需要它。也许项目设置搞砸了。如果您没有大型项目,则创建一个新的 Win32 项目。以防万一是 IntelliSense 在抱怨,那么您可以忽略它。
  • 请确定您使用的是哪个平台。你用winapiwin-universal-app 标记了这个,但它们是不同的。 FindFirstFilewinapi 函数,但不是 win-universal-app 函数。对于win-universal-app,您使用StorageFolder.GetItemsAsync
  • @AndrewWilson - 只需在documentation 中查找它,它会告诉您如何使用FindFileEx,甚至包括一个提供与使用FindFile 相同的输出的示例。这些天来的孩子们不知道他们有多么容易得到它 - 从前我们不得不花几个小时在图书馆里阅读纸质书籍。现在,您的网络触手可及。 (Rob Schneider 声音)你可以做到的!

标签: c++ windows win-universal-app


【解决方案1】:

FindFirstFile is documented as

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

该 API 不适用于通用应用。通用等价物是StorageFolder.GetItemsAsync

【讨论】:

    【解决方案2】:

    根据APIs present on all Windows 10 devicesFindFirstFile 存在于版本10.0.14393.0 的Windows 10 中,而FindFirstFileEx 来自版本10.0.10240.014393 is the Anniversary Update 和 10240 来自“阈值 1”,又名 RTM,又名“版本 1507”。因此,您可能拥有旧版本的 Windows API。我不确定为什么微软会包含一个功能而不包含另一个功能,而这两个功能以前都可用 - 也许只是一个疏忽?

    因此,您最简单的解决方案是升级到 Windows 10 周年更新或更高版本

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

    以下调用:

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

    相当于下面的调用:

    FindFirstFile( lpFileName, lpFindData );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-17
      • 2015-03-01
      • 2015-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      相关资源
      最近更新 更多