Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 找不到标识符FindFirstFile_C++_Windows_Win Universal App - Fatal编程技术网

C++ 找不到标识符FindFirstFile

C++ 找不到标识符FindFirstFile,c++,windows,win-universal-app,C++,Windows,Win Universal App,我正在尝试使用windows API中的函数FindFirstFile,我以前使用过它,但现在找不到了。它只是告诉我找不到标识符。我有FindFirstFileExW、FindFirstFileExA和FindFirstFileEx的其他变体,但我没有FindFirstFile。我甚至可以在FileAPI.h中包含特定的头文件。我读到了一个类似的问题,我应该在windows.h之前包含stdafx.h,但我甚至找不到stdafx.h 如果您不能回答这个问题,请描述如何使用FindFirstFil

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

如果您不能回答这个问题,请描述如何使用FindFirstFileEx执行与FindFirstFile相同的操作,因为FindFirstFileEx在msdn上被描述为具有更多属性的FindFirstFile

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

通用应用程序无法使用该API。通用的等价物是

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

通用应用程序无法使用该API。通用等价物是。

根据,FindFirstFile在10.0.14393.0版的Windows 10中存在,而FindFirstFileEx在10.0.10240.0版中存在,以及阈值1 a.k.a.RTM a.k.a.版本1507中的10240。因此,您可能拥有旧版本的Windows API。我不知道为什么微软会包括一个功能,而不是另一个,而这两个功能以前都是可用的-也许只是一个疏忽

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

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

以下电话:

FindFirstFileEx( lpFileName, 
                 FindExInfoStandard, 
                 lpFindData, 
                 FindExSearchNameMatch, 
                 NULL, 
                 0 );
FindFirstFile( lpFileName, lpFindData );
相当于以下调用:

FindFirstFileEx( lpFileName, 
                 FindExInfoStandard, 
                 lpFindData, 
                 FindExSearchNameMatch, 
                 NULL, 
                 0 );
FindFirstFile( lpFileName, lpFindData );
根据,FindFirstFile在10.0.14393.0版本的Windows 10中存在,而FindFirstFileEx在10.0.10240.0版本中存在,以及阈值1 a.k.a.RTM a.k.a.版本1507中的10240。因此,您可能拥有旧版本的Windows API。我不知道为什么微软会包括一个功能,而不是另一个,而这两个功能以前都是可用的-也许只是一个疏忽

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

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

以下电话:

FindFirstFileEx( lpFileName, 
                 FindExInfoStandard, 
                 lpFindData, 
                 FindExSearchNameMatch, 
                 NULL, 
                 0 );
FindFirstFile( lpFileName, lpFindData );
相当于以下调用:

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

你使用哪种编译器?什么版本?例如,它是Visual Studio 2013吗?@BarmakShemirani vs2015 V140这毫无意义。FindFirstFile和FindFirstFileEx位于同一头文件中。包括windows。h应该足够了。您可能需要也可能不需要stdafx.h,如果VS2015没有对此抱怨,那么您就不需要它。也许项目设置搞砸了。如果您没有大型项目,请创建一个新的Win32项目。以防万一是IntelliSense在抱怨,那么你可以忽略它。请决定使用哪个平台。您使用winapi和win universal app对此进行了标记,但它们是不同的。FindFirstFile是winapi函数,但不是win universal app函数。对于win universal应用程序,您可以使用。@AndrewWilson-只需在中查找它,它会告诉您如何使用FindFilex,甚至包括一个提供与使用FindFile相同输出的示例。现在的孩子们不知道他们有多么容易——从前,我们不得不花几个小时在图书馆里翻阅纸质书。现在,你已经触手可及了。罗伯·施耐德:你能行!你使用哪种编译器?什么版本?例如,它是Visual Studio 2013吗?@BarmakShemirani vs2015 V140这毫无意义。FindFirstFile和FindFirstFileEx位于同一头文件中。包括windows。h应该足够了。您可能需要也可能不需要stdafx.h,如果VS2015没有对此抱怨,那么您就不需要它。也许项目设置搞砸了。如果您没有大型项目,请创建一个新的Win32项目。以防万一是IntelliSense在抱怨,那么你可以忽略它。请决定使用哪个平台。您使用winapi和win universal app对此进行了标记,但它们是不同的。FindFirstFile是winapi函数,但不是win universal app函数。对于win universal应用程序,您可以使用。@AndrewWilson-只需在中查找它,它会告诉您如何使用FindFilex,甚至包括一个提供与使用FindFile相同输出的示例。现在的孩子们不知道他们有多么容易——从前,我们不得不花几个小时在图书馆里翻阅纸质书。现在,你已经触手可及了。罗伯·施耐德:你能行!