文件属性的获取可以使用函数GetFileAttributes实现。例如DWORD dwFileAttributes = ::GetFileAttributes(strPathName);
函数返回值有多种数值,每种数值对话一种属性。
具体属性介绍可以参阅MSDN.
常见属性可以参考下面代码。
可以在自己的按钮点击函数内调用。
- void CDemoDlg::OnGetFileAttributes()
- {
- //创建文件夹对话框
- CFolderDialog dlg(NULL, NULL, NULL, BIF_BROWSEINCLUDEFILES);
- if (dlg.DoModal() == IDOK)
- {
- //获得文件路径
- CString strPathName = dlg.GetPathName();
- //获得文件属性
- DWORD dwFileAttributes = ::GetFileAttributes(strPathName);
- CString strFileAttributes = _T("");
- if (dwFileAttributes & FILE_ATTRIBUTE_NORMAL)
- {
- strFileAttributes += _T("无\n");
- }
- if (dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
- {
- strFileAttributes += _T("目录\n");
- }
- if (dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE)
- {
- strFileAttributes += _T("存档\n");
- }
- if (dwFileAttributes & FILE_ATTRIBUTE_HIDDEN)
- {
- strFileAttributes += _T("隐藏\n");
- }
- if (dwFileAttributes & FILE_ATTRIBUTE_READONLY)
- {
- strFileAttributes += _T("只读\n");
- }
- if (dwFileAttributes & FILE_ATTRIBUTE_SYSTEM)
- {
- strFileAttributes += _T("系统\n");
- }
- if (dwFileAttributes & FILE_ATTRIBUTE_TEMPORARY)
- {
- strFileAttributes += _T("临时\n");
- }
- CString strText = _T("");
- strText.Format(_T("文件属性:\n%s"), strFileAttributes);
- AfxMessageBox(strText);
- }
- }
复制代码 另外文件属性的设置对应的实现函数为SetFileAttributes。
例如也可以通过按钮控件调用下面函数来设置文件属性。
- void CDemoDlg::OnSetFileAttributes()
- {
- //创建文件夹对话框
- CFolderDialog dlg(NULL, NULL, NULL, BIF_BROWSEINCLUDEFILES);
- if (dlg.DoModal() == IDOK)
- {
- //获得文件路径
- CString strPathName = dlg.GetPathName();
-
- DWORD dwFileAttributes = FILE_ATTRIBUTE_ARCHIVE |
- FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_READONLY;
- //设置文件属性
- ::SetFileAttributes(strPathName, dwFileAttributes);
- CString strFileAttributes = _T("存档\n隐藏\n只读\n");
-
- CString strText = _T("");
- strText.Format(_T("文件属性:\n%s"), strFileAttributes);
- AfxMessageBox(strText);
- }
- }
复制代码
|