Windows API 第 10篇 SearchTreeForFile

函数原型:
BOOL SearchTreeForFilePSTR RootPath,      //系统查找的起始路径,
   PSTR InputPathName,                           //要查找的文件名,可以使用通配符,例如 *.doc  
  PSTR OutputPathBuffer  );             //输出参数,查找到以后文件的绝对路径放在此
返回值:
查找到返回1,没有查找到或失败返回0,调用GetLastError()查看错误代码,
包含头文件以及库文件   #include <DbgHelp.h>       #pragma comment (lib, "DbgHelp.lib")
用该函数可以在指定目录里查找想要找的文件地方,只要指定好查找位置,系统底层文件系统自动遍历所有的子目录和文件,不过此函数不适用在多线程下调用,否则会出现未知错误,甚至内存崩溃,实在想在多线程下条用此函数,则要以异步的形式调用。
举例说明:
假如在F盘下是否有名为12345.txt的文件,则
char szPath[MAX_PATH] = {0};
BOOL bRet = SearchTreeForFile("F:\", "12345.txt", szPath);
注意:有时候查找到,szPath内存里也未必是文件的绝对路径,有时候内存会被截断,不清楚是怎么回事,使用的时候要特别注意。

原文地址:https://www.cnblogs.com/priarieNew/p/9754363.html