![]() |
Programm innerhalb IDE gestartet?
Hallo DP,
wie kann man feststellen, ob ein Programm innerhalb der IDE gestartet wurde? Gruß Domino |
Re: Programm innerhalb IDE gestartet?
Hi!
Gib wahrscheinlich verschiedene Möglichkeiten, dies herauszufinden. Hier mal eine Möglichkeit:
Delphi-Quellcode:
type
TIsDebuggerPresent = function: BOOL; function IsDebuggerPresent: Boolean; var hKernel32: Integer; IsDebuggerPresent: TIsDebuggerPresent; VerInfo: TOsVersionInfo; begin Result := False; VerInfo.dwOSVersionInfoSize := SizeOf(VerInfo); GetVersionEx(VerInfo); if (VerInfo.dwPlatformId = VER_PLATFORM_WIN32_NT) and (VerInfo.dwMajorVersion >= 4) then begin hKernel32 := LoadLibrary('KERNEL32.DLL'); if hKernel32 > 0 then begin IsDebuggerPresent := GetProcAddress(hKernel32, 'IsDebuggerPresent'); if Assigned(IsDebuggerPresent) then Result := IsDebuggerPresent; FreeLibrary(hKernel32); end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if IsDebuggerPresent() = True then ShowMessage( 'Debugger or IDE entdeckt' ) else ShowMessage( 'Debugger or IDE NICHT entdeckt' ); end; |
Re: Programm innerhalb IDE gestartet?
Hallo
ich würde es so machen:
Delphi-Quellcode:
FUNCTION inIDE: Boolean; BEGIN // Klassenname von Delphi is TAppbuilder Result := FindWindow('TAPPBUILDER', NIL) <> 0; END; |
Re: Programm innerhalb IDE gestartet?
Die Function inIDE ist aber nicht unbedingt sicher,
d.h kann leicht ausgetrickst werden. |
Re: Programm innerhalb IDE gestartet?
Hallo toms,
da hast Du natürlich Recht, Deine Funktion ist total sophisticated, aber wer denkt bei obiger Fragestellung schon etwas Böses :mrgreen: :mrgreen: Falls Domino Komponenten oä. nur in der IDE lauffähig anbieten möchte (z.B. als Shareware), dann ist meine Lösung unsicher, zum schnellen Auffinden ob IDE oder nicht aber kürzer :zwinker: |
Re: Programm innerhalb IDE gestartet?
Zitat:
|
Re: Programm innerhalb IDE gestartet?
Zitat:
|
Re: Programm innerhalb IDE gestartet?
Hallo toms,
vielen Dank für Deine Lösung. Mir ist noch eine Möglichkeit eingefallen: Beim Start innerhalb der IDE einen Parameter mitgeben und diesen auswerten. Hintergrund der Fragestellung: eine Dll zur Kommunikation mit einer S7-Steuerung funktioniert nicht in der Entwicklungsumgebung von Delphi !?!. Für die Entwicklungsumgebung gibt es eine abgespeckte Version. Daher muss ich die entsprechende Dll zur Laufzeit dynamisch einbinden.. Gruß Domino |
Re: Programm innerhalb IDE gestartet?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz