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

shuzai 2006-11-16 12:09:33
如何判断一个文件是否被使用?
...全文
61 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxtdxvb 2006-11-16
  • 打赏
  • 举报
回复
呵呵。

function TForm1.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, nil, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0) ;
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then
CloseHandle(HFileRes);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
if IsFileInUse(Edit1.Text) then
application.MessageBox('使用中','信息',MB_ok+mb_iconinformation)
else
application.MessageBox('未使用','信息',MB_ok+mb_iconinformation)
end;
zuoansuifeng 2006-11-16
  • 打赏
  • 举报
回复
打开文件,如果失败,就是表示正在使用

ShellExecute() 用来打开文件的

ues引用shellapi单元~

列如:

ShellExecute(Self.Handle,'open',PChar('project.exe'),nil,nil,SW_NORMAL);

中间的PChar('project.exe')代表你要打开的文件~

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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