在VC中,如何修改文件的只读属性设置
展开全部 //-------------------将只读文件的只读属性去掉-----------------------CFileStatus rStatus;CFile::GetStatus(strFileName,rStatus);//获得文件的属性设置rStatus.m_attribute=rStatus.m_attribute &0x3E; //如果文件为只读的,将只读属性去掉//--------------------------------------------CFile::SetStatus(strFileName, rStatus );//更改文件的属性设置……}enum Attribute {normal = 0x00,//对应的二进制编码是00 0000readOnly = 0x01,//对应的二进制编码是00 0001hidden = 0x02,//对应的二进制编码是00 0010system = 0x04,//对应的二进制编码是00 0100volume = 0x08,//对应的二进制编码是00 1000directory = 0x10,//对应的二进制编码是01 0000archive = 0x20//对应的二进制编码是10 0000};所以取消某个属性的设置,就将相应的二进制编码的“1”位设置为0,然后其他位均为“1”,再转换为十六进制编码,然后进行“&”操作即可。
如:...
C++中的cpp文件,被我用写字板打开一次,图标就变为写字板那个了...
//取当前时间为文件名, 以使随时保存, 下面一段放入按钮事件中CString sFileName;CTime t = CTime::GetCurrentTime();CString sTmp;sTmp.Format("%d-%d-%d %d-%d-%d",t.GetYear(),t.GetMonth(),t.GetDay(),t.GetHour(),t.GetMinute(),t.GetSecond());sFileName = sTmp+".txt";//保存文件CFile f;CFileFind ff;CString sFile =sFileName ;if(!ff.FindFile(sFile, 0)){f.Open(sFile.GetBuffer(1),CFile::modeCreate,NULL);f.Close();}f.Open(sFile.GetBuffer(1),CFile::modeReadWrite);CString sText;//文本框内容GetDlgItem(IDC_TEXT1)->GetWindowText(sText);//写入数据f.Write((void*)sText.GetBuffer(1), sText.GetLength());f.Close();ff.Close();
ini文件小节中多个键名键值如何循环读取,vc++
注册表里有四个总目录,它们的意思分别是: 六大根键的作用 注册表采用“关键字”及其“键值”来描述登录项及其数据。
所有的关键字都是以“HKEY”作为前缀开头。
打个比喻来说,关键字更象Windows9X下的浏览器里的目录下的文件,每个文件都会有自己特有的内容和属性。
我们可以在注册表编辑器下很方便地添加、修改、查询和删除注册表的每一个关键字。
关键字可以分为两类:一类是由系统定义,一般叫做“预定义关键字”;另一类是由应用程序定义的,根据应用软件的不同,登录项也就不同。
在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。
每个键都包含了一组特定的信息,每个键的键名都是 和它所包含的信息相关的。
如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有“+”符号,以表示在这个文件夹中有更多的内容。
如果这个文件夹被用户打开了,那么这个“+”就会变成“-”。
下面我们对系统预定义的六大根键简单地介绍一下。
1.HKEY_USERS 该根键保存了存放在本地计算机口令列表中的用户标识和密码列表,即用户设置。
每个用户的预配置信息都存储在HKEY_USERS根键中。
HKEY_USERS是远程计算机中访问的根键之一。
其内容取决于计算机是否激活了用户配置文件,若未激活用户配置文件,则可以看到称为.DEFAULT的单一子键,该子键包括和所有用户相关的各种设置,并且和\Windows下的USER.DAT文件相配合。
若激活了用户配置文件并且正确地执行了登录,则还有一个“用户名”的子键,该用户名为用户登录的名称。
2.HKEY_CURRENT_USER 该根键包含本地工作站中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码(注:此密码在输入时是隐藏的)。
用户登录Windows 98时,其信息从HKEY_USERS中相应的项拷贝到HKEY_CURRENT_USER中。
HKEY_CURRENT_USER下面有7个子关键字。
其中除RemoteAccess”外,其余6个都为系统预定义。
AppEvents 这个子键里登记已注册的各种应用事件。
ControlPanel 它里面涉及到控制面板设置有关的内容。
InstallLocationsMRU windows安装路径的有关信息。
Keyboardlayout 关于键盘设置的信息。
Network 有关网络设置的信息。
RemoteAccess 安装IE 时建立的子关键字,包含该应用程序的有关信息。
Software 软件的有关信息。
3.HKEY_CURRENT_CONFIG 该根键存放着定义当前用户桌面配置(如显示器等)的数据,最后使用的文档列表(MRU)和其他有关当前用户的Windows 98中文版的安装的信息。
4.HKEY_CLASSES_ROOT 该键由多个子键组成,具体可分为两种:一种是已经注册的各类文件的扩展名,另一种是各种文件类型的有关信息。
左栏中的子键就是各种已经注册的文件扩展名。
注册表内己经登记的文件扩展名中,有系统默认和应用程序自定义的扩展名。
应用程序只有把自定义的扩展名在注册表中登记,系统才能识别和关联使用有关的文档,但只有经过注册的扩展名,系统才能自动关联。
根据在Windows 98中文版中安装的应用程序的扩展名,该根键指明其文件类型的名称。
在第一次安装Windows 98中文版时,RTF(Rich Text Format)文件与写字板(WordPad)联系起来,但在以后安装了中文Word 6.0后,双击一个RTF文件时,将自动激活Word。
存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,将替代WIN.INI文件中的[Extensions]小节中的设置项,它把应用程序与文件扩展名联系起来,它也替代了Windows 3.x中的Reg.dat文件中的相似的设置项。
5.HKEY_LOCAL_MACHINE 注册表的核心,计算机的各种硬件和软件的配置均存在于此。
它包括以下八个部分:Config配置、Driver驱动程序、Enum即插即用、Hardware硬件、Network网络、Security安全、Software软件、System系统。
每部分中又包括许多子键。
该根键存放本地计算机硬件数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。
该根键中的许多子键与System.ini文件中设置项类似。
6.HKEY_DYN_DATA 该根键存放了系统在运行时动态数据,此数据在每次显示时都是变化的,因此,此根键下的信息没有放在注册表中。
转载请注明出处51数据库 » vc修改word属性
夏日友人帐