Herausfinden ob Programm über Debugger ausgeführt wird
Hallo,
gibt es in Delphi eigentlich eine Möglichkeit abzufragen ob die exe "normal" gestartet wurde oder über den Delphi Debugger ? Der Grund ist, dass man bevor mein Hauptprogramm startet immer ein Intro-Video anschauen muss. Und nach dem Motto "Wasser predigen, Wein trinken" will ich nicht jeders mal beim testen das Video anschauen 8-) . Bisher hab ich den "Video-Code-Abschnitt" einfach auskommentiert, aber ich fand die Idee interessant ob so was geht (und ich befürchte dass ich am Ende vergesse den Code wieder zu dekommentieren). MfG Mikescher |
Re: Herausfinden ob Programm über Debugger ausgeführt wird
Such mal im Forum nach IsDebuggerPresent. ;)
|
Re: Herausfinden ob Programm über Debugger ausgeführt wird
Du könntest das überspringen des Intros zum Beispiel auch per Parameter überspringen (prüfen ob ein bestimmter Parameter übergeben wurde).
|
Re: Herausfinden ob Programm über Debugger ausgeführt wird
Zitat:
Delphi-Quellcode:
So kann man das ganze einfach testen:
function RunningInDelphi: Boolean;
begin Result := DebugHook <> 0; end;
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin if RunningInDelphi then Color := clRed else Color := clBlue; end; |
Re: Herausfinden ob Programm über Debugger ausgeführt wird
Danke euch :cheers: ,
ich hab diesen Code mit Balus Suchbegriff gefunden:
Delphi-Quellcode:
Aber ich glaub ich nehme Den von MaBuSE, der ist kürzer und funktioniert auch :wink: .
function IsDebuggerPresent: boolean; stdcall;
asm MOV EAX, DWORD PTR FS:[$30] TEST EAX, EAX JS @@W9X @@WNT: MOV EAX, FS:[$18] MOV EAX, [EAX+$30] MOVZX EAX, [EAX+2] RET @@W9X: MOV EAX, [$BFFC9CE4] MOV ECX, [EAX] CMP DWORD PTR [ECX+$54], 1 SBB EAX, EAX INC EAX RET end; Also Thanks MfG Mike |
Re: Herausfinden ob Programm über Debugger ausgeführt wird
Der von Mabuse sagt nur ob es aus Delphi heraus ausgeführt wird (also das was du wissen wolltest). Die umfangreichere Variante prüft generell auf Debugger wenn ich das richtig sehe.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz