Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Aufruf aus Batch-Datei verhindern (https://www.delphipraxis.net/169010-aufruf-aus-batch-datei-verhindern.html)

RWarnecke 23. Jun 2012 12:08


Aufruf aus Batch-Datei verhindern
 
Hallo zusammen,

gibt es einen Weg oder eine Funktion, dass in meinem Delphi-Programm abgefragt wird, ob es aus einer Batchdatei oder einem VBScript aufgerufen wird oder nicht ? Ich möchte entsprechend darauf reagieren, wenn es aus einer Batch-Datei oder aus einem VBScript aufgerufen wird.

Gruß
Rolf

ConnorMcLeod 23. Jun 2012 12:49

AW: Aufruf aus Batch-Datei verhindern
 
So vielleicht?

himitsu 23. Jun 2012 12:54

AW: Aufruf aus Batch-Datei verhindern
 
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 MSDN-Library durchsuchenProcess Explorer und auch MSDN-Library durchsuchenAttachConsole kennt diese Abhängigkeit.

Mit
Delphi-Quellcode:
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.

implementation 23. Jun 2012 12:56

AW: Aufruf aus Batch-Datei verhindern
 
Sollte der User nicht erwarten dürfen, dass das Programm immer gleich funktioniert, egal woher er es aufruft? Warum steuerst du die verschiedene Funktionalität nicht über Kommandozeilenoptionen? Sowas ist IMHO entgegen jeglicher Usability und würde bei mir in die Tonne (/dev/null) fliegen :shock:

himitsu 23. Jun 2012 13:10

AW: Aufruf aus Batch-Datei verhindern
 
Überall gleich arbeiten ...

Ich hatte doch mal vor Ewigkeiten einen FileSplitter gebastelt.
Sobald er von einer Console aus aufgerufen wird, gibt er "zusätzlich" auch noch Statusmeldungen in dieser Console aus.

Zusätzliche Features zu nutzen, wenn sie vorhanden sind, ist ja eigentlich OK.
Nur mit dem Unterschied, daß die Abhängigkeiten anders definiert sind. Also anstatt "Wurde das Programm von der Console oder VBScript aufgerufen?" eher ein "Ist eine Console vorhanden?".

RWarnecke 23. Jun 2012 13:14

AW: Aufruf aus Batch-Datei verhindern
 
Zitat:

Zitat von ConnorMcLeod (Beitrag 1172124)

Danke, das ist genau das was ich gesucht habe.

Zitat:

Zitat von himitsu (Beitrag 1172125)
Gibt es einen Grund, warum es nicht erlaubt sein soll?

Zitat:

Zitat von implementation (Beitrag 1172126)
Sollte der User nicht erwarten dürfen, dass das Programm immer gleich funktioniert, egal woher er es aufruft? Warum steuerst du die verschiedene Funktionalität nicht über Kommandozeilenoptionen? Sowas ist IMHO entgegen jeglicher Usability und würde bei mir in die Tonne (/dev/null) fliegen :shock:

Ich habe ja nicht gesagt, dass ich etwas verbieten will.

Zitat:

Zitat von himitsu (Beitrag 1172128)
Sobald er von einer Console aus aufgerufen wird, gibt er "zusätzlich" auch noch Statusmeldungen in dieser Console aus.
Zusätzliche Features zu nutzen, wenn sie vorhanden sind, ist ja eigentlich OK.

Sowas in der Richtung schwebt mir vor.

implementation 23. Jun 2012 13:15

AW: Aufruf aus Batch-Datei verhindern
 
Zitat:

Zitat von himitsu (Beitrag 1172128)
Zusätzliche Features zu nutzen, wenn sie vorhanden sind, ist ja eigentlich OK.

Full Ack, denn dann sind es ja eben Features.
Nur leider klingt der Threadtitel mehr nach Antifeature.Post gelesen, ich bin still*

*) keine rote Box :cry:

himitsu 23. Jun 2012 13:32

AW: Aufruf aus Batch-Datei verhindern
 
Zitat:

Zitat von implementation (Beitrag 1172130)
*) keine rote Box :cry:

Macht nichts, das ist la leider Standard. :cry:
Hab auch erst eben durch das Zitat mitbekommen, daß noch jemand vor mir war. :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:30 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