如何判断一个文件是否正在被使用???

nkym0626 2011-07-15 11:10:04
...全文
110 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
山东蓝鸟贵薪 2011-07-15
  • 打赏
  • 举报
回复
你可以查看进程或者通过句柄来测试这个即可
cntigercat 2011-07-15
  • 打赏
  • 举报
回复

function IsFileInUse(fName : string): boolean;
var
HFileRes : HFILE;
begin
Result := false; //返回值为假(即文件不被使用)
if not FileExists(fName) then exit; //如果文件不存在则退出
HFileRes := CreateFile(pchar(fName),
GENERIC_READ or GENERIC_WRITE,
0 {this is the trick!},
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
Result := (HFileRes = INVALID_HANDLE_VALUE); //如果CreateFile返回失败那么Result为真(即文件正在被使用)
if not Result then//如果CreateFile函数返回是成功
CloseHandle(HFileRes); //那么关闭句柄
end;

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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