VC MFC 显示文件或文件夹的属性

来源:互联网 发布:cad手机画图软件 编辑:程序博客网 时间:2024/05/21 07:00
  1. SHELLEXECUTEINFO ShExecInfo ={0};
  2. ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
  3. ShExecInfo.fMask = SEE_MASK_INVOKEIDLIST ;
  4. ShExecInfo.hwnd = NULL;
  5. ShExecInfo.lpVerb = "properties";
  6. ShExecInfo.lpFile = "c://"//can be a file as well
  7. ShExecInfo.lpParameters = ""
  8. ShExecInfo.lpDirectory = NULL;
  9. ShExecInfo.nShow = SW_SHOW;
  10. ShExecInfo.hInstApp = NULL; 
  11. ShellExecuteEx(&ShExecInfo);
  12. 获得指定目录下所有*.mht文件的属性
  13. void CGetDirectoryAndFileDlg::OnButtonGet() 
  14. {
  15.  // TODO: Add your control notification handler code here
  16.  CString FileName[200];
  17.  HANDLE hFile;
  18.     CString strPath;
  19.     strPath=m_strFolderPath+"//*.mht";
  20.     WIN32_FIND_DATA FindFileData;
  21.     
  22.     hFile=::FindFirstFile(strPath,&FindFileData);
  23.     BOOL blnExact=true;
  24.     if (hFile==INVALID_HANDLE_VALUE)
  25.     {
  26.   AfxMessageBox("找不到目录");
  27.   return;
  28.     }
  29.  m_listFile.DeleteAllItems();
  30.  m_listFile.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
  31.  m_listFile.SetTextColor(RGB(255,0,0));
  32.  m_listFile.InsertColumn(0,"文件名",LVCFMT_LEFT,250);
  33.  m_listFile.InsertColumn(1,"提示文字",LVCFMT_LEFT,100);
  34.  m_listFile.InsertColumn(2,"创建时间",LVCFMT_LEFT,150);
  35.  m_listFile.InsertColumn(3,"最后访问时间",LVCFMT_LEFT,150);
  36.  m_listFile.InsertColumn(4,"最后修改时间",LVCFMT_LEFT,150);
  37.  m_listFile.InsertColumn(5,"文件属性",LVCFMT_LEFT,60);
  38.     int i=0;
  39.  CTime time;
  40.  CString strTime;
  41.     while(blnExact)
  42.     {
  43.   m_listFile.InsertItem(i,FindFileData.cFileName,0);
  44.   m_listFile.SetItemText(i,1,FindFileData.cAlternateFileName);
  45.   time=CTime(FindFileData.ftCreationTime);
  46.   strTime.Format("%d年%d月%d日%d时%d分%d秒",time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());
  47.   m_listFile.SetItemText(i,2,strTime);
  48.   time=CTime(FindFileData.ftLastAccessTime);
  49.   strTime.Format("%d年%d月%d日%d时%d分%d秒",time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());
  50.   m_listFile.SetItemText(i,3,strTime);
  51.   time=CTime(FindFileData.ftLastWriteTime);
  52.   strTime.Format("%d年%d月%d日%d时%d分%d秒",time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());
  53.   m_listFile.SetItemText(i,4,strTime);
  54.   
  55.   switch (FindFileData.dwFileAttributes)
  56.   {
  57.   case FILE_ATTRIBUTE_ARCHIVE:
  58.    strTime="存档";
  59.    break;
  60.   case FILE_ATTRIBUTE_HIDDEN:
  61.    strTime="隐藏";
  62.    break;
  63.   default:
  64.    strTime="默认";
  65.    break;
  66.   }
  67.   m_listFile.SetItemText(i,5,strTime);
  68.   
  69.   FileName[i]=FindFileData.cFileName;
  70.   m_strFileList=m_strFileList+FileName[i];
  71.   i++;
  72.   blnExact=::FindNextFile( hFile,&FindFileData);
  73.     }
  74.     ::FindClose(hFile);
  75.  UpdateData(FALSE);
  76. }
原创粉丝点击