Определение отладки Вашего приложения
Чтобы воспользоваться этой функцией, просто вызовите IsDebuggerPresent и используйте результат, чтобы изменить поведение Вашего приложения, если была предпринята отладка приложения. Также имейте ввиду, что имена процедур хранятся в исполняемых файлах, так что Вы можете изменить название функции IsDebuggerPresent на что-то менее очевидное, чтобы запутать юзера, пытающегося провести отладку Вашего приложения.
function DebuggerPresent : boolean;
type
TDebugProc = function : boolean;
stdcall;
var
Kernel32: HMODULE;
DebugProc: TDebugProc;
begin { DebuggerPresent }
Result := False;
Kernel32 := GetModuleHandle('kernel32');
if Kernel32<>0 then
begin
@DebugProc := GetProcAddress(Kernel32, 'IsDebuggerPresent');
if Assigned(DebugProc) then
Result := DebugProc
end; { Kernel32<>0 }
end; { DebuggerPresent }
Комментарии