导航

心动吧DELPHI网络书

自发研究:须要多维思想而且要想不可能为可能的人才能做到

« 判断文件是否被上锁映射文件有三个典型的用途 »

判断文件是否被其他程序独占地打开

判断文件是否被其他程序独占地打开


类 别:文件操作
我没有找到能完成这件事的WIN32 API函数,于是自己写了一个: 
function E9FileStatus(Const Origin: string): boolean; 
var
  F: TFileStream; 
begin 
{
    值含义
    fmCreate 根据所给名字创建文件。如果所给名字的文件存在,以写状态打开文件。
    fmOpenRead 以只读状态打开文件
    fmOpenWrite 以只写状态打开文件。文件全部重写,替代已有内容。
    fmOpenReadWrite 打开文件,修改而不是替换文件内容。
    共享(share)状态必须是以下值之一:
    值意义
    fmShareCompat 共享与文件控制块(FCB)的打开方式兼容。
    fmShareExclusive 其他程序不能以任何理由打开文件。
    fmShareDenyWrite 其他程序能以只读方式打开文件,但不能写。
    fmShareDenyRead 其他程序能以只写方式打开文件,但不能读。
    fmShareDenyNone 不禁止其他程序读或写文件。
    如果文件不能被打开, Create 将产生异常。
    如果文件未被锁定,将返回true
}
  try
    try
      F := TFileStream.Create(Origin, fmOpenReadWrite OR fmShareExclusive);
      Result := true;
    finally
      F.Free;
    end;
  except
    Result := false;
  end; 
end;
 

原创文章如转载,请注明:转载自心动吧DELPHI网络书 [ http://www.abcxd.com/delphi/ ]

本文链接地址:http://www.abcxd.com/delphi/abcxddelphi/delphiDIRAA/241.html

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热文排行使用

本年排行使用

本月排行使用

网站分类

搜索内容

最新评论及回复

最近发表

所属分类下的文章

日历

Copyright ⊙ 2004-2009 心动吧 UrL:ABCXD.CoM All RiGhts Reserved