Feststellen, wie ein Programm gestartet wurde

jokey2

Erfahrenes Mitglied
Noch eine Konsolenfrage:
Gibt es eine Möglichkeit, festzustellen wie ein Konsolenprogramm gestartet wurde?
Ich möchte folgendes wissen: Wurde das Programm aus einem CMD-Fenster per Kommandozeile gestartet oder per Doppelklick im Explorer. Oder mit anderen Worten: existierte das Kommandofenster schon oder wurde es für die Konsolenapplikation neu erzeugt?
 
Das hier wird keine optimale Lösung sein aber zumindestens ein Vorschlag:
Du könntest dir die Titelleiste
der Konsole geben lassen (GetConsoleTitle() ), wenn cmd schon gestartet wurde steht da meistens
"C:\Windows\system32\cmd.exe - deinprogramm", wenn es per Explorer gestatet wurde steht da "deinpfad\deinprogramm.exe".
Das könntest du abfragen.

Mal rein interessehalber: wofür brauchst du das denn?
 
Das ist ne gute Idee, das werde ich mal ausprobieren!
Ich habe da ein Progrämmchen, das auf der Kommandozeile ausgeführt werden soll, wenn es Parameter hat. Wenn es keine Parameter hat, dann soll ein Dialog aufgehen, in dem die Parameter eingegeben und die Verarbeitung gestartet werden kann. In diesem Fall soll das Konsolenfenster zugehen, aber eben nur, wenn die Konsole durch das Programm (mit einen Doppelklick im Explorer) gestartet wurde. Wenn die Konsole schon auf war und das Programm von der Kommandozeile der Konsole gestartet wurde, soll das Konsolenfenster sichtbar bleiben.
 

Neue Beiträge

Zurück