Wie man dieses lästige CPU-Fenster zu entfernen.
Rufen Sie PatchINT3 im Initialisierungsabschnitt eines Ihrer app-Einheiten.
Prozedur PatchINT3;
var
NOP: Byte;
NTDLL: THandle;
BytesWritten: DWORD;
Adresse: Pointer;
beginnen
Wenn Win32Platform <> VER_PLATFORM_WIN32_NT then Exit;
NTDLL: = GetModuleHandle('NTDLL. DLL');
Wenn NTDLL = 0 then Exit;
Adresse: = GetProcAddress (NTDLL, 'DbgBreakPoint');
Wenn Adresse = Null dann beenden;
versuchen Sie
Wenn Char(Address^) <> #$CC beenden;
NOP: = $90;
Wenn WriteProcessMemory (GetCurrentProcess, Adresse, die @NOP, 1, BytesWritten) und
(BytesWritten = 1) dann
FlushInstructionCache (GetCurrentProcess, Adresse, 1);
mit Ausnahme von
Keine Panik, wenn Sie eine EAccessViolation finden Sie hier, es ist vollkommen harmlos!
auf EAccessViolation Do;
sonst zu erhöhen;
Ende;
Ende;
Ntdll.dbguserbreakpoint
Ntdll.dbguserbreakpoint : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Wie man dieses lästige CPU-Fenster zu entfernen.
Rufen Sie PatchINT3 im Initialisierungsabschnitt eines Ihrer app-Einheiten.
Prozedur PatchINT3;
var
NOP: Byte;
NTDLL: THandle;
BytesWritten: DWORD;
Adresse: Pointer;
beginnen
Wenn Win32Platform <> VER_PLATFORM_WIN32_NT then Exit;
NTDLL: = GetModuleHandle('NTDLL. DLL');
Wenn NTDLL = 0 then Exit;
Adresse: = GetProcAddress (NTDLL, 'DbgBreakPoint');
Wenn Adresse = Null dann beenden;
versuchen Sie
Wenn Char(Address^) <> #$CC beenden;
NOP: = $90;
Wenn WriteProcessMemory (GetCurrentProcess, Adresse, die @NOP, 1, BytesWritten) und
(BytesWritten = 1) dann
FlushInstructionCache (GetCurrentProcess, Adresse, 1);
mit Ausnahme von
Keine Panik, wenn Sie eine EAccessViolation finden Sie hier, es ist vollkommen harmlos!
auf EAccessViolation Do;
sonst zu erhöhen;
Ende;
Ende;