工控编程吧
标题:
上位机MFC如何获得或设置文件的属性
[打印本页]
作者:
qq263946146
时间:
2019-8-1 11:47
标题:
上位机MFC如何获得或设置文件的属性
文件属性的获取可以使用函数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);
}
}
复制代码
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4