Определить, заблокирован ли EXE-файл при запуске? - PullRequest
0 голосов
/ 13 сентября 2018

Мне нужно подписать файл .exe с помощью .. \ x64 \ signtool.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;

Но эта функция всегда возвращает False, даже если программа .exe работает!

Так как же определить, заблокирован ли файл .exe при запуске?

...