VC 独占式 操作文件 进驻其他程序或人工删除此文件

zhuweiping2003 2008-12-31 10:32:35
写的一个软件在使用中需要独占式的对自己生成的临时xml文件进行修改和删除操作。
在使用中临时创建,保存,修改,并在自己运行结束后删除。。。。

现在的问题是:不容许其他软件或人工操作的方法修改或删除这个临时的文件~~~~~~~

是不是在文件 创建时候 或者 读写方式上面 有设置~~~??

望给出 方法思想 或 简单函数或代码 ~~

...全文
149 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuweiping2003 2009-01-05
  • 打赏
  • 举报
回复
上面各位 非常感谢
Skight 2009-01-01
  • 打赏
  • 举报
回复
CreateFile 所有读写共享权限参数都设为 读共享

CreateFile(__szFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);

等用完后再关闭打开的句柄。
oyljerry 2008-12-31
  • 打赏
  • 举报
回复
或者把文件放内存中
CMemFile,就不怕别人打开,删除了·
cnzdgs 2008-12-31
  • 打赏
  • 举报
回复
如果担心别人修改或删除这个文件,就自己用CreateFile打开文件,dwShareMode参数给0。
zhuweiping2003 2008-12-31
  • 打赏
  • 举报
回复
对了 这个文件是 CMarkup 类 使用save方法生成的,使用的时候是使用load的方法加载的~~
相关示例代码如下:

CMarkup newCreatXML;//新建的临时的xml文件
newCreatXML.SetDoc("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n");//添加XML头
newCreatXML.AddElem("MenuXMl_INI");//添加根项
//创建此临时文件
newCreatXML.Save("menuXML_INI.xml");//临时保存到当前目录下的menuXML_INI.xml文件

BOOL bLoad = FALSE;
//加载使用,目的是解析
bLoad = newCreatXML.Load("menuXML_INI.xml");
oyljerry 2008-12-31
  • 打赏
  • 举报
回复
CFILE::("XX.XX",CFile::shareDenyNone)
一条晚起的虫 2008-12-31
  • 打赏
  • 举报
回复
在需要使用这个文件的时候,始终不关闭。
一条晚起的虫 2008-12-31
  • 打赏
  • 举报
回复
打开的时候用独占方式
oyljerry 2008-12-31
  • 打赏
  • 举报
回复
独享方式打开
zhuweiping2003 2008-12-31
  • 打赏
  • 举报
回复
现在我写的这个软件非要说最大的BUG
我最担心的就是这个临时文件被人误删除或者修改了
虽然这个临时文件的我加了隐藏属性~
还是不放心啊~
zhuweiping2003 2008-12-31
  • 打赏
  • 举报
回复
大家都帮顶啊~~~UP
Chivalry 2008-12-31
  • 打赏
  • 举报
回复
创建之后,调用CreateFile
凤矶 2008-12-31
  • 打赏
  • 举报
回复
CMarkup load之后又关闭了的。
再用CFile打开。
CFile _file;
_file.Open("wwww\.....\xxxx.xml", CFile::shareExclusive);
sungoco2 2008-12-31
  • 打赏
  • 举报
回复
CMemFile

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧