Windows中搜尋文件時,可以指定包含文件,這個搜尋功能是怎樣實現的?
比如說,我要搜尋一個指定目錄下所有*.txt的文件,且文件中含有指定字符的文件?
有沒有什麼API可以實現這個功能?

解决方案 »

  1.   

    msdnWIN32_FIND_DATA
    FindFirstFile()
    FindNextFile()
    FindClose()
      

  2.   

    不知道Windows 的查找功能是怎樣實現的?
      

  3.   

    void SearchFile(CString csFilename)
    {
    WIN32_FIND_DATA FindFileData;
    HANDLE hFind;

    hFind = ::FindFirstFile("*", &FindFileData);
    if(hFind != INVALID_HANDLE_VALUE)
    {
    do
    {
    if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    {
    if(*FindFileData.cFileName != '.')
    {
    ::SetCurrentDirectory(FindFileData.cFileName);
    SearchFile(csFilename);
    ::SetCurrentDirectory("..");
    }
    }
    else
    {
    if(((CString)FindFileData.cFileName).CompareNoCase(csFilename) == 0)
    {
    //
    }
    }
    }while(::FindNextFile(hFind, &FindFileData)); ::FindClose(hFind);
    }
    }
      

  4.   

    windows的查找功能很强,速度特别快
    是不是跟内部文件组织形式有关?
      

  5.   

    搜索文件名的代碼有很多,
    但不知道Windows怎樣搜索出包含指定文字的文件.
      

  6.   

    试试用 SoftICE 或 spy 跟踪一下。
      

  7.   

    如何用系统查找功能来查找指定文件? ShellExecute(m_hWnd,"find","d:\\nish",
        NULL,NULL,SW_SHOW);
      

  8.   

    不好意思,不會用SoftICE.我不是要怎樣調出查找的對話框,
    而是要怎樣實現Windows 查找功能的代碼,關鍵是Windows 怎樣查找匹配指定的文字的文件這個功能?