#include <io.h> _finddata_t fd;
intptr_t file = _findfirst( "F:\\*.*", &fd );fd.name 存的就是你不知道的文件名,用完后调下面的函数。 _findclose( file );

解决方案 »

  1.   

    可以用cfindfile或者更简单的方法,建立一个listbox,用它的dir()函数也可以,
    把listbox的设置成不显示
      

  2.   

    WIN32_FIND_DATA wfd={0};
    TCHAR szPath[MAX_PATH]=TEXT("x:\\yourdir\\*.*");
    HANDLE hFind=FindFirstFile(szPath,&wfd);
    BOOL rc;
    if(INVALID_HANDLE_VALUE!=hFind)
    {    while(rc=FindNextFile(hFile,&wfd))
        {
           if((wfd&FILE_ATTRIBUTE_DIRECTORY)!=FILE_ATTRIBUTE_DIRECTORY) break;
        }
        FindClose(hFind);
        if(rc)//Find the file
        {
            LPTSTR pszFile=(LPTSTR)LocalAlloc(LPTR,sizeof(TCHAR)*1024);
           if(NULL!=pszFile)
           {
              lstrcpy(pszFile,TEXT("x:\\yourdir\\");
              lstrcat(pszFile,wfd.cFileName);
              HANDLE hFile=CreateFile(pszFile,GENERIC_READ,0,0,OPEN_EXISTING,0,0);
              if(INVALID_HANDLE_VALUE!=hFile)
              {
                  ReadFile(...);
              }
              LocalFree(pszFile);
           }
        }
    }