文件管理 · 2022年8月24日

mfc去掉文件只读属性|MFC怎样在程序中设置ini文件的属性

A. MFC中以只读方式打开文件

if(!myFile.Open(fFileOut.GetBuffer( ) ,CFile::modeRead| CFile::typeText),&fileException)括号问题?if(!myFile.Open(fFileOut.GetBuffer( ) ,CFile::modeRead| CFile::typeText,&fileException))

B. MFC中Copyfile的问题。

1.不信你可以看看,系统里的所有文件夹都是只读属性,这个没关系;2.CopyFile只能拷贝文件,不能拷贝文件夹;3.若要拷贝文件夹,可参考如下方法:BOOL CCheckFileDlg::CopyDir(CString strSrcPath, CString strDstPath){ // 创建目标文件夹 CreateDirectory(strDstPath,NULL); CFileFind finder; // 打开指定的文件夹进行搜索 BOOL bWorking = finder.FindFile(strSrcPath + "\\" + "*.*"); while(bWorking) { // 从当前目录搜索文件 bWorking = finder.FindNextFile(); CString strFileName = finder.GetFileName(); CString strSrc = strSrcPath + "\\" + strFileName; CString strDst = strDstPath + "\\" + strFileName;// 判断搜索到的是不是"."和".."目录 if(!finder.IsDots()) { // 判断搜索到的目录是否是文件夹 if(finder.IsDirectory()) { // 如果是文件夹的话,进行递归 if(!CopyDir(strSrc, strDst)) return false; } else { // 如果是文件,进行复制 if(!CopyFile(strSrc, strDst, FALSE)) return false; } } } return true;}

C. MFC问题:Cannot save file. Sharing violation

你的那个.RC文件是只读的吧,很有可能是从VSS上弄来没有取消邦定的。所以你最好手动把项目文件夹下所有的文件都去掉只读选项,然后再试试看,应该就可以了。

D. MFC中怎么把combox的属性改成只读

combox的本质是按钮,所以只有SetEnable()这个操作,没有设置只读的操作。所以你只能自己继承CButton类并自己实现这个操作。当设置为只读之后,修改背景颜色、前景颜色、字体等。如果不需要特殊效果的话,直接SetEnable(FALSE)就好了,这样就像按钮变灰一样,用户也无法选择和取消选择了。

E. MFC怎样在程序中设置.ini文件的属性

c# 判断ini文件是否为只读,并设置为可写string path = Application.StartupPath + "\\setup.ini"; //获取文件路径获取文件是否只读FileAttributes att=File.GetAttributes(path );设置文件的属性File.SetAttributes(path ,FileAttribute.Archive );FileAttribute可以取值为:成员名称 说明 ReadOnly 文件为只读。 Hidden 文件是隐藏的,因此没有包括在普通的目录列表中。 System 文件为系统文件。文件是操作系统的一部分或由操作系统以独占方式使用。 Directory 文件为一个目录。 Archive 文件的存档状态。应用程序使用此属性为文件加上备份或移除标记。 Device 保留供将来使用。 Normal 文件正常,没有设置其他的属性。此属性仅在单独使用时有效。 Temporary 文件是临时文件。文件系统试图将所有数据保留在内存中以便更快地访问,而不是将数据刷新回大容量存储器中。不再需要临时文件时,应用程序会立即将其删除。 SparseFile 文件为稀疏文件。稀疏文件一般是数据通常为零的大文件。 ReparsePoint 文件包含一个重新分析点,它是一个与文件或目录关联的用户定义的数据块。 Compressed 文件已压缩。 Offline 文件已脱机。文件数据不能立即供使用。 NotContentIndexed 操作系统的内容索引服务不会创建此文件的索引。 Encrypted 该文件或目录是加密的。对于文件来说,表示文件中的所有数据都是加密的。对于目录来说,表示新创建的文件和目录在默认情况下是加密的。

F. MFC如何删除文件或文件夹

给你个删除目录的函数:

voidDeleteDirectory(CStringstrDir){if(strDir.IsEmpty()){RemoveDirectory(strDir);return;}//首先删除文件及子文件夹CFileFindff;BOOLbFound=ff.FindFile(strDir+_T("\*"),0);while(bFound){bFound=ff.FindNextFile();if(ff.GetFileName()==_T(".")||ff.GetFileName()==_T(".."))continue;//去掉文件(夹)只读等属性SetFileAttributes(ff.GetFilePath(),FILE_ATTRIBUTE_NORMAL);if(ff.IsDirectory()){//递归删除子文件夹DeleteDirectory(ff.GetFilePath());RemoveDirectory(ff.GetFilePath());}else{DeleteFile(ff.GetFilePath());//删除文件}}ff.Close();//然后删除该文件夹RemoveDirectory(strDir);}