Gibt es einen Grund, warum es nicht erlaubt sein soll?
Selbst wenn du viele Möglichkeiten abfängst/prüfst, es wird immer Möglichkeiten geben, das Programm dennoch von diesen Orten aus aufzurufen (und wenn auch nur über Umwege).
Joar, irgendwo muß man rausbekommen, wer der eigene "Parent Process" ist.
Sieht man seht gut am
Process Explorer und auch
AttachConsole kennt diese Abhängigkeit.
Mit
if AttachConsole(ATTACH_PARENT_PROCESS) <> 0 then
könnte man eventuell rausbekommen, ob das eigene Programm von einer Batch-Datei (von einer Konsole) oder von einem anderem Konsolenprogramm aus aufgerufen wurde.