我需要使用.. \ x64 \ signtool.exe对.exe文件进行签名。但是,这显然在运行.exe程序(假定锁定.exe文件)时不起作用。因此,我尝试检测.exe文件是否已通过此功能锁定:
function IsExeFileLocked(const AFilename: string): Boolean;
var
F: TFileStream;
begin
try
F:=TFileStream.Create(AFilename, fmOpenRead or fmShareDenyNone);
try
Result:=False;
finally
F.Free;
end;
except
Result:=True;
end;
end;
但是,即使.exe程序正在运行,此功能也会始终返回False
!
那么我该如何检测.exe文件是否通过运行而被锁定?