指定一个文件夹路径字符串FILESTRING,列出所有这个文件夹下修改时间在GIVETIME以后的所有文件名。

解决方案 »

  1.   

    获取文件修改时间:
    #using <mscorlib.dll>
    using namespace System;
    void CTestDlg::OnBnClickedBtnfoldermodifyget()
    {
    CString StrFolderName;
    BROWSEINFO bi;
    memset(&bi, 0, sizeof(BROWSEINFO) );
    LPITEMIDLIST idl=SHBrowseForFolder(&bi);
    SHGetPathFromIDList(idl,StrFolderName.GetBuffer(MAX_PATH));
    DateTime ModifyTime=System::IO::Directory::GetLastWriteTime(StrFolderName);
    CString StrModifyTime=System::Convert::ToString(ModifyTime);
    MessageBox("文件夹最近修改时间:"+StrModifyTime,"信息提示",MB_OK);
    }
      

  2.   

    遍历这个目录下的文件:vector(string) filename
    IF(创建时间〈修改时间) filename.pushback(newname)获取文件修改时间:
    void CTestDlg::OnBnClickedBtnfilemodifyget()
    {
    CFileDialog  Dlg(TRUE,NULL,NULL,NULL,NULL,this);
    if(Dlg.DoModal()==IDCANCEL)
    return;
    CString StrFileName=Dlg.GetPathName();
    CFileStatus  Status;
    if(CFile::GetStatus(StrFileName,Status))
    {
    CString StrModifyTime=Status.m_mtime.Format("文件修改时间:%Y年%m月%d日 %H时%M分%S秒");
    MessageBox(StrModifyTime,"信息提示",MB_OK);
    }
    }
    void CTestDlg::OnBnClickedBtnfilecreateget()
    {
    CFileDialog  Dlg(TRUE,NULL,NULL,NULL,NULL,this);
    if(Dlg.DoModal()==IDCANCEL)
    return;
    CString StrFileName=Dlg.GetPathName();
    CFileStatus  Status;
    if(CFile::GetStatus(StrFileName,Status))
    {
    CString StrCreateTime=Status.m_ctime.Format("文件建立时间:%Y年%m月%d日 %H时%M分%S秒");
    MessageBox(StrCreateTime,"信息提示",MB_OK);
    }
    }
      

  3.   

    大哥你写的不对啊,是所有修改时间在GIVETIME以后的文件名。
      

  4.   

    typedef struct _FILE_INFO {
      TCHAR szFileTitle[128]; //文件的标题名
      DWORD dwFileAttributes; //文件的属性
      FILETIME ftCreationTime; //文件的创建时间
      FILETIME ftLastAccessTime; //文件的最后访问时间
      FILETIME ftLastWriteTime; //文件的最后修改时间
      DWORD nFileSizeHigh; //文件大小的高位双字
      DWORD nFileSizeLow; //文件大小的低位双字
      DWORD dwReserved0; //保留,为0
      DWORD dwReserved1; //保留,为0
    } FILE_INFO, * PFILE_INFO;
    //声明结构对象
    FILE_INFO FileInfo;
    WIN32_FIND_DATA FindFileData;
    ……
    //获取文件属性信息
    FindClose(FindFirstFile("Test.txt",&FindFileData));
    memset(&FileInfo,0,sizeof(FILE_INFO));
    ……
    //将文件属性信息保存到FileInfo中备用
    strcpy(FileInfo.szFileTitle,myFile.GetFileTitle());
    FileInfo.dwFileAttributes = FindFileData.dwFileAttributes;
    FileInfo.ftCreationTime = FindFileData.ftCreationTime;
    FileInfo.ftLastAccessTime = FindFileData.ftLastAccessTime;
    FileInfo.ftLastWriteTime = FindFileData.ftLastWriteTime;
    FileInfo.nFileSizeHigh = FindFileData.nFileSizeHigh;
    FileInfo.nFileSizeLow = FindFileData.nFileSizeLow;
      

  5.   

    lixiaosan(小三):
    strcpy(FileInfo.szFileTitle,myFile.GetFileTitle());里面的myFile是自己选的文件名吗?
    是不是要定义一个CFileDialog啊?
      

  6.   

    我贴的是文件的上次修改时间,你可以自己改成GIVETIME以后的时间啊