ljmanage(过客) 说的没错,如果是以独占方式打开的文件,如:DOC文件 可以用下面的函数: 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, nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0); Result := (HFileRes = INVALID_HANDLE_VALUE); if not Result then CloseHandle(HFileRes); end;
用Findwindow查找所有的窗体,看看窗口有没有类似标题
然后用sendmessage(Handle,WN_CLOSE,0,0);将他关闭
可以用下面的函数:
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, nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then CloseHandle(HFileRes);
end;