您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> VC/MFC >> OpenFile独占模式打开文件问题

OpenFile独占模式打开文件问题

来源:网络整理     时间:2016/8/15 21:34:45     关键词:

关于网友提出的“ OpenFile独占模式打开文件问题”问题疑问,本网通过在网上对“ OpenFile独占模式打开文件问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: OpenFile独占模式打开文件问题
描述:

本帖最后由 PC_9527 于 2011-08-13 11:19:15 编辑

OpenFile用OF_SHARE_DENY_READ参数打开文件(没有任何错误),打开的句柄保存到一个全局变量中,在不关闭它的情况下(CloseHandle),正常情况下,应该无法再打开这个文件,很奇怪的是XP系统下有效,Win7却不可以。请问高手们是怎么一回事?
解决方案1:

win7的话看看是不是权限问题

解决方案2:

OF_SHARE_DENY_READ 是共享读,  别的进程可以打开读取这个文件,不能写入这个文件。

解决方案3:

应该是系统的问题,不是第三方程序的问题
你在Win7下是管理员,在XP下也是管理员吗?
或许不同系统的管理员权限也会有所不同

解决方案4:

我试的没有问题啊,


  TCHAR szFileName[] = _T("C:\\temp\\myini.ini");
  HFILE h_File = HFILE_ERROR;
  OFSTRUCT ofStruct={ sizeof(OFSTRUCT) };
  h_File = OpenFile(szFileName,
     &ofStruct, OF_READWRITE|OF_SHARE_EXCLUSIVE);
  CString szMsg;
  if(h_File == HFILE_ERROR)
  {
    szMsg.Format(_T("OpenFile 失败,错误代码:%ld"),
      GetLastError());
  }
  else
  {
    szMsg.Format(_T("可以打开文件%s\r\n试试看,测试期间请不要按确定键"),
      szFileName);
  }
  
  AfxMessageBox(szMsg);
  if(h_File != HFILE_ERROR)
  {
    CloseHandle((void*)h_File);
  }

解决方案5:

用CreateFile

解决方案6:

你要通过复制伪句柄的方式独占它

解决方案7:

独占 用 OF_SHARE_EXCLUSIVE 试试


以上介绍了“ OpenFile独占模式打开文件问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3308839.html

相关图片

相关文章