写的一个软件在使用中需要独占式的对自己生成的临时xml文件进行修改和删除操作。
在使用中临时创建,保存,修改,并在自己运行结束后删除。现在的问题是:不容许其他软件或人工操作的方法修改或删除这个临时的文件~~~~~~~是不是在文件 创建时候 或者 读写方式上面 有设置~~~??望给出 方法思想 或 简单函数或代码 ~~

解决方案 »

  1.   

    现在我写的这个软件非要说最大的BUG
    我最担心的就是这个临时文件被人误删除或者修改了
    虽然这个临时文件的我加了隐藏属性~
    还是不放心啊~
      

  2.   

    CFILE::("XX.XX",CFile::shareDenyNone)   
      

  3.   

    对了 这个文件是 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");
      

  4.   

    如果担心别人修改或删除这个文件,就自己用CreateFile打开文件,dwShareMode参数给0。
      

  5.   

    或者把文件放内存中
    CMemFile,就不怕别人打开,删除了·
      

  6.   

    CMarkup load之后又关闭了的。
    再用CFile打开。
    CFile _file;
    _file.Open("wwww\.....\xxxx.xml", CFile::shareExclusive);
      

  7.   

    CreateFile 所有读写共享权限参数都设为 读共享CreateFile(__szFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);等用完后再关闭打开的句柄。