void SearchFile(char* pszDirectory,char* pszSuffix)
DWORD dwBufferSize = 2048;
char FileName[MAX_PATH] = {0};
char TempPath[MAX_PATH] = {0};
WIN32_FIND_DATA fdFileData = { 0 };
wsprintf(FileName, "%s\\*.*", pszDirectory);
HANDLE hFile = FindFirstFileA(FileName, &fdFileData);
if (INVALID_HANDLE_VALUE != hFile)
if ('.' == fdFileData.cFileName[0])
wsprintf(TempPath, "%s\\%s", pszDirectory, fdFileData.cFileName);
if (fdFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
SearchFile(TempPath, pszSuffix);
if (strstr(TempPath, pszSuffix))
printf("%s\n", TempPath);
} while (FindNextFileA(hFile, &fdFileData));
int main(int argc, char* argv[])
SearchFile((char*)"C:\\Users\\Black Sheep\\Desktop",(char*)".exe");