Laufende IDE erkennen!
-
Hallo!
Es gibt bekanntermaßen einige Komponenten deren Trialversionen nur laufen wenn das Programm aus der IDE gestartet wurde bzw. wenn die IDE im Hintergrund aktiv ist.
Kann mir jemand einen Tipp geben wie so etwas gemacht wird?
Das Durchsuchen der Taskleiste erscheint mir ein wenig zu einfach zu sein.Danke!
-
Bei einer eigenen Komponente (Unterklasse von TComponent) kannst Du das
z.B. so machen:if (ComponentState.Contains(csDesigning)) { // irgendetwas gemeines machen }Gruß,
Alexander
-
@Alexander:
Das Flag csDesigning wird zur Entwurfszeit gesetzt, d.h. wenn ich die Komponente während der Entwurfsphase einbinde. Wird das Programm gestartet, ist csDesigning nicht gesetzt.
Glaube, das das nicht das ist, was Barnie sucht.

-
Habe ich wohl falsch verstanden...
Gruß,
Alexander
-
Einen "sauberen" Weg gibt es m.E. nicht.
Üblicherweise behilft man sich, indem man per FindWindow nach einem laufenden BCB sucht (ClassName TAppBuilder, trifft allerdings auch auf Delphi zu) und/oder die API-Funktion IsDebuggerPresent ([msdn]IsDebuggerPresent[/msdn]) verwendet.
-
Ich dachte mir es koennte einen "saubereren" Weg geben.
Die FindWindow-Methode wäre ja in 5 Minuten zu umgehen.Da werde ich mir wohl mal eine Alternative überlegen müssen.
-
Von Borland gibt's 'ne Funktion:
IsDebuggerPresent()
Die liefert das gewuenschte Ergebnis!
-
Jansen schrieb:
[...] und/oder die API-Funktion IsDebuggerPresent ([msdn]IsDebuggerPresent[/msdn]) verwendet.