我使用以下搜索定义为宏DB_CONFIG_FILE_PATH_1的文件。

wchar_t filename[100];
SearchPath( L".\\", DB_CONFIG_FILE_PATH_1, NULL, 100, filename, NULL);

如果该文件是在C:\目录,可以发现。但是,如果该文件是在其子目录中的一个功能没有找到它。

能解释一些如何搜索所有驱动器包括子目录与上述功能的文件。

我不使用的功能用FindFirstFile因为,我无法检索,即使在函数返回处理该文件的文件路径。

要穿上它,我想要的文件的全路径名。我知道文件的名称,但不知道它在哪里上的补偿。

有帮助吗?

解决方案

有关在Win32本地代码搜索子目录,你需要自己做,使用和用FindFirstFile然后递归到子目录。

用FindFirstFile的返回值不是一个文件句柄 - 文件信息被包含在所述结构WIN32_FIND_DATA返回。句柄调用中使用FindNextFile继续搜索。为了您的搜索过程中得到一个全路径名,你需要跟踪您目前在哪个目录并追加发现目录名的路径。

SearchPath中只搜索在PATH环境变量或如果存在所述第一参数和不搜索子目录。

其他提示

GetCurrentDirectory()应该告诉你的路径:

http://msdn.microsoft.com/ EN-US /库/ aa364934(VS.85)的.aspx

FindFirstFile()的第二个参数:

http://msdn.microsoft.com/ EN-US /库/ aa364418(VS.85)的.aspx

这是一个WIN32_FIND_DATA结构应该告诉你该文件的名称:

http://msdn.microsoft.com/ EN-US /库/ aa365740(VS.85)的.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top