filelist.pas

来自「CreateFile Hook with Delphi with AdvHooK」· PAS 代码 · 共 58 行

PAS
58
字号
unit FileList;

interface

uses Windows;

procedure AddFilename(Filename: string);
procedure OnFileOpen(hFile: THandle; Filename: string);
function IsFileEncrypted(hFile: THandle): boolean;

implementation

uses SysUtils;

var
  FileNames: array of string;
  FileHandles: array of THandle;

procedure AddFilename(Filename: string);
begin
  SetLength(FileNames, Length(FileNames) + 1);
  FileNames[Length(FileNames) - 1] := Filename;
  SetLength(FileHandles, Length(FileNames));
end;

procedure OnFileOpen(hFile: THandle; Filename: string);
var
  i: integer;
begin
  Filename := StringReplace(Filename, '/', '\', [rfReplaceAll, rfIgnoreCase]);
  Filename := Lowercase(Filename);

  for i := 0 to Length(FileNames) do
  begin
    if (LowerCase(FileNames[i]) = LowerCase(Filename)) then
      FileHandles[i] := hFile;
  end;
end;

function IsFileEncrypted(hFile: THandle): boolean;
var
  i: integer;
begin
  Result := False;

  for i := 0 to Length(FileHandles) do
  begin
    if FileHandles[i] = hFile then
    begin
      Result := True;
      break;
    end;
  end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?