In der HookUnit.pas:
Delphi-Quellcode:
function NewShellExecute(hWnd: HWND; Operation, FileName, Parameters, Directory: PChar; ShowCmd: Integer): HINST; stdcall;
begin
Result := 0;
if Windows.MessageBox(0, PChar('Soll ' + Directory + FileName + ' ausgeführt werden?'), '[ShellExecute Hooked]', MB_OKCANCEL) = IDOK then
Result := OldShellExecute(hwnd, Operation, FileName, Parameters, Directory, ShowCmd);
end;
Alle Funktionen, deren Namen dort mit "New" anfangen, sind die, die anstelle der "richtigen" Funktionen aufgerufen werden. Und da sind ja die Argumente bei, z.B. FileName und Directory..