Wurde mein Programm aus der Konsole gestartet? (Windows)

Alles rund um die Programmierung mit Qt
Antworten
gerome69
Beiträge: 188
Registriert: 28. April 2006 22:50
Wohnort: Berlin
Kontaktdaten:

Wurde mein Programm aus der Konsole gestartet? (Windows)

Beitrag von gerome69 »

Hallo zusammen,
wie finde ich raus, ob Windows-QT-Programm aus der Eingabeaufforderung gestartet wurde oder durch Doppelklick in einem Explorer-Fenster.

Ich habe mit der Win-API Funktion ::GetParent mal rumprobiert, um zu überprüfen, ob es ein Parent-Fenster gibt, bin aber nicht ans Ziel gekommen.

Danke für Tips, Bernd
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Da gibts keinen Unterschied
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
gerome69
Beiträge: 188
Registriert: 28. April 2006 22:50
Wohnort: Berlin
Kontaktdaten:

Beitrag von gerome69 »

Christian81 hat geschrieben:Da gibts keinen Unterschied
Schade. Ich wollte halt Meldungen auf der Eingabeaufforderung per printf ausgeben, wenn es aus dieser gestartet wurde oder per QMessageBox, wenn es aus dem Explorer gestartet wird.

Aber irgendwie gibt es doch eine Struktur von Prozessen in Windows. Ist nicht ein in der Konsole gestarteter Prozess nicht das Kind von cmd.exe? Ich kann mich da mühselig durch die WinApi-Funktionen kämpfen, wollte hier nur fragen, ob das schon mal jemand gemacht hat.

Gruß, Bernd
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Die Meldungen mit printf() werden sowieso nicht zu sehen sein da Qt diese auf die debug-Konsole umleitet -> CONFIG += console
Andererseits wird dann diese Konsole immer angezeigt.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Christian81 hat geschrieben:Andererseits wird dann diese Konsole immer angezeigt.
Unter Win wird man sie mit FreeConsole() wieder los.
Antworten