初学MFC,写了一个小应用,选择文件显示其文件路径和文件大小。在win2003能成功运行,并显示结果,但是在win 7 的环境下就显示无法打开文件,还有显示文件大小为0的情况。编译环境是VS2010
目前这一问题还在研究中。
关键代码如下
/* m_file 是CFile类型的, m_filePath和m_fileName都是CString类型的 */ void Cno1Dlg::OnBnClickedButton1() { CFileDialog dlg(TRUE); if(dlg.DoModal() == IDCANCEL) return; if(m_file.m_hFile != CFile::hFileNull) OnClose(); m_fileName = dlg.GetFileName(); if(!m_file.Open(m_fileName, CFile::modeCreate || CFile::modeReadWrite)) { AfxMessageBox(_T("无法打开文件")); m_fileName.Empty(); return; } m_filePath = dlg.GetPathName(); SetDlgItemTextW(IDC_EDIT1,m_filePath); //在IDC_EDIT1里显示文件路径 SetDlgItemInt(IDC_EDIT2,m_file.GetLength()/1024); //在IDC_EDIT2显示文件大小,单位是K, }