今天做了个修改文件时间的程序,但是运行的时候出现错误修改不成功情大家给我看看我是哪里写错了!
SYSTEMTIME time1;
FILETIME time2;
COleDateTime time;
CString file_lujing,file_1;
int Y,M,D;
        HANDLE file_jubing;
CFileDialog file(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"全部文件(*.*)|*.*||",0);
file.DoModal();
file_lujing=file.GetPathName();
file_jubing=CreateFile(file_lujing,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_ARCHIVE,NULL);
        SetDlgItemText(IDC_EDIT,file_1);
        sscanf(file_1,"%d-%d-%d",&Y,&M,&D);
CTime m_time(Y,M,D,0,0,0);
        m_time.GetAsSystemTime(time1);
SystemTimeToFileTime(&time1,&time2);
::SetFileTime(file_jubing,&time2,NULL,NULL);

解决方案 »

  1.   

    应该这样
    if(file.DoModal()==IDOK)
    {
    file_lujing=file.GetPathName(); 
    file_jubing=CreateFile(file_lujing,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_ARCHIVE,NULL); 
            SetDlgItemText(IDC_EDIT,file_1); 
            sscanf(file_1,"%d-%d-%d",&Y,&M,&D); 
    CTime m_time(Y,M,D,0,0,0); 
            m_time.GetAsSystemTime(time1); 
    SystemTimeToFileTime(&time1,&time2); 
    ::SetFileTime(file_jubing,&time2,NULL,NULL); 
    }
      

  2.   

    你打开的文件只有GENERIC_READ,没有GENERIC_WRITE的权限,加个GENERIC_WRITE