1、新建一个基于对话框的应用程序,工程名为FileAttribute。
![MFC应用实例:[51]获得文件属性](https://exp-picture.cdn.bcebos.com/979906196120a7cd4180104189b375d7987bdc41.jpg)
2、如下图为对话框添加三个按钮,一个编辑框,十一个静态文本和四个复选框控件。
![MFC应用实例:[51]获得文件属性](https://exp-picture.cdn.bcebos.com/fab31cb375d7997be91a31ebf9dade49600fd941.jpg)
3、为“打开”按钮建立响应脑栲葱蛸函数OnOpen(),在响应函数OnOpen()中添加一下代码:void CFileAttribute肛舀辨乔Dlg::OnOpen() //打开文件{ // TODO: 在此添加控件通知处理程序代码 CString strFilter="All Files(*.*)|*.*||"; CFileDialog dlg(TRUE, NULL, NULL, OFN_EXPLORER|OFN_HIDEREADONLY| OFN_ENABLESIZING|OFN_FILEMUSTEXIST,strFilter); if(dlg.DoModal() == IDOK ) //显示打开文件对话框 { m_strFile=dlg.GetPathName(); UpdateData(false); }}
![MFC应用实例:[51]获得文件属性](https://exp-picture.cdn.bcebos.com/739bc049610f8b56f5eac5db9ce951e10ff8d341.jpg)
4、为获取属性按钮建立响应脑栲葱蛸函数OnGetAttr(),在响应函数OnGetAttr()中添加一下代码:void CFileAttributeDlg::OnGetAttr(){ // TODO: 在此添加控件通知处理程序代码 UpdateData(TRUE); CFileStatus rStatus;//结构体 if(CFile::GetStatus(m_strFile,rStatus)) { m_strSize.Format("%d字节",rStatus.m_size);//文件大小 m_strCTime = rStatus.m_ctime.Format("%Y年%m月%d日 %H:%M:%S");//创建时间 m_strMTime = rStatus.m_mtime.Format("%Y年%m月%d日 %H:%M:%S");//修改时间 m_strATime = rStatus.m_atime.Format("%Y年%m月%d日 %H:%M:%S");//访问时间 if((rStatus.m_attribute & 0x01) == 0x01)//判断是否只读 m_bReadOnly = TRUE; else m_bReadOnly = FALSE; if((rStatus.m_attribute & 0x02) == 0x02)//判断是否隐藏 m_bHidden = TRUE; else m_bHidden = FALSE; if((rStatus.m_attribute & 0x20) == 0x20)//判断是否存档 m_bArchive = TRUE; else m_bArchive = FALSE; if((rStatus.m_attribute & 0x04) == 0x04)//判断是否是系统文件 m_bSystem = TRUE; else m_bSystem = FALSE; UpdateData(FALSE);//更新显示 }}
![MFC应用实例:[51]获得文件属性](https://exp-picture.cdn.bcebos.com/2f2909e951e10ef805b83e8e2324d8e9cdd2cc41.jpg)
5、程序运行如下,打开桌面的新建文本文件.txt运行如下:
![MFC应用实例:[51]获得文件属性](https://exp-picture.cdn.bcebos.com/d47cb624d8e9ccd2d988baea0e40102a05e2c941.jpg)
![MFC应用实例:[51]获得文件属性](https://exp-picture.cdn.bcebos.com/50189b40102a04e2594cd1f12b7aa010bd33c241.jpg)