工控编程吧
标题:
167上位机VC MFC设置文件只读隐藏等全部属性
[打印本页]
作者:
qq263946146
时间:
2016-1-15 21:20
标题:
167上位机VC MFC设置文件只读隐藏等全部属性
(, 下载次数: 6)
上传
点击文件名下载附件
167上位机VC MFC设置文件只读隐藏等全部属性
功能展示
文件的属性我们可以通过鼠标右键进行设置,也可以通过编写程序进行快速设置,我们当前例程实现指定文件只读隐藏归档等全部属性的操作,抛砖引玉,其他属性可参考MSDN进行设置,程序效果如图;
要点提示
文件的属性获取可以通过Cfile类的GetStatus(Status)函数实现;函数跟随一个Status为CFileStatus类型参数,通过Status.m_attribute&CFile::archive)==FILE_ATTRIBUTE_ARCHIVE便可知是否带有相应属性;
属性的设置可能通过SGetFileAttributes()与etFileAttributes()函数组合进行实现;
实现功能
1.新建基于对话框的应用程序
2.拖拽静态文件ID修改为IDC_NOTICE用于显示设置结果;
拖拽一编辑框ID为IDC_EDIT1用于显示要操作文件的绝对路径;
按例程界面拖拽几个按钮控件 ,用于实现相应操作功能;
3.全部按钮关联函数void CGkbc8Dlg::OnOpen()
void CGkbc8Dlg::OnOpen()
{
CFileDialog Dlg(TRUE,NULL,NULL,NULL,NULL,this);
if(Dlg.DoModal()==IDCANCEL)
return;
SetDlgItemText(IDC_EDIT1,Dlg.GetPathName());
}
void CGkbc8Dlg::OnGetreadonly() //获取只读属性
{
CString sFileName;
GetDlgItemText(IDC_EDIT1,sFileName);
CFileStatus Status;
if(CFile::GetStatus(sFileName,Status))
{
if((Status.m_attribute&CFile::readOnly)==FILE_ATTRIBUTE_READONLY)
SetDlgItemText(IDC_NOTICE,"文件设置了只读属性");
else
SetDlgItemText(IDC_NOTICE,"文件未被设置只读属性");
}
}
复制代码
void CGkbc8Dlg::OnSetreadonly() //设置只读属性
{
CString sFileName;
GetDlgItemText(IDC_EDIT1,sFileName);
DWORD dwAttrs;
dwAttrs = GetFileAttributes(sFileName);
if (!(dwAttrs & FILE_ATTRIBUTE_READONLY))
{
if(SetFileAttributes(sFileName,dwAttrs|FILE_ATTRIBUTE_READONLY))
SetDlgItemText(IDC_NOTICE,"成功设置了文件只读属性");
else
SetDlgItemText(IDC_NOTICE,"失败设置了文件只读属性");
}
else
SetDlgItemText(IDC_NOTICE,"文件已带有只读属性");
}
void CGkbc8Dlg::OnGethide() //获取隐藏属性
{
CString sFileName;
GetDlgItemText(IDC_EDIT1,sFileName);
CFileStatus Status;
if(CFile::GetStatus(sFileName,Status))
{
if((Status.m_attribute&CFile::hidden)==FILE_ATTRIBUTE_HIDDEN)
SetDlgItemText(IDC_NOTICE,"文件设置了隐藏属性");
else
SetDlgItemText(IDC_NOTICE,"文件未设置隐藏属性");
}
}
复制代码
其他函数代码参数例程
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/ba84a9a5c19e8b20c1aa1cbbd3f55fde/0/0/w_19rtdstdop.swf-albumId=5189275109-tvId=5189275109-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4