[gelöst] QProcess - Konsolenprogramm Kennwort eingeben

Alles rund um die Programmierung mit Qt
Antworten
Oliver Hom
Beiträge: 33
Registriert: 27. Mai 2009 12:44

[gelöst] QProcess - Konsolenprogramm Kennwort eingeben

Beitrag von Oliver Hom »

Hallo,

ich rufe mit QProcess ein Konsolenprogramm auf, das nach dem Starten eine Kennwort eingabe erwartet.

Wenn ich nun mit write () die Daten schreibe und danach mit closeWriteChannel () den Channel schließe, meldet das Programm, daß es kein Kennwort vom stdin lesen konnte.

Habt ihr da eine Idee?

Einen Vorschlag habe ich hier noch gefunden.
http://labs.trolltech.com/blogs/2006/03 ... -qprocess/

Allerdings, sind dort noch einige Probleme mit der Umsetzung...

Eine Anwendung, die die Kennworteingabe erwartet zum testen wäre z.B. openvpn.exe

Gruß,
Oliver
Zuletzt geändert von Oliver Hom am 15. Oktober 2009 16:31, insgesamt 1-mal geändert.
arj
Beiträge: 45
Registriert: 1. Juni 2009 13:51
Wohnort: Ihringen

Beitrag von arj »

Hast Du eventuell kein \n am Ende mitgeschickt?
Die Daten sollten eigentlich automatisch geflusht werden, wenn Du den Channel zu machs. Daran sollte es eigentlich nicht liegen.
Oliver Hom
Beiträge: 33
Registriert: 27. Mai 2009 12:44

Beitrag von Oliver Hom »

Mit \n habe ich probiert. Hatte keine Auswirkung.

Gruß,
Oliver
arj
Beiträge: 45
Registriert: 1. Juni 2009 13:51
Wohnort: Ihringen

Beitrag von arj »

Schreibst Du eventuell das Passwort zu früh? Also bevor das Programm von stdin liest?
Was sagt http://doc.trolltech.com/4.5/qprocess.html#error ?
Oliver Hom
Beiträge: 33
Registriert: 27. Mai 2009 12:44

Beitrag von Oliver Hom »

Hallo,

ja genau das war es. Die Kennwortabfrage kam auf stderr.
Ich hatte den zwar auch ausgelesen aber leider im falschen Signal :oops:

Dadurch kamen die Eingaben zur falschen Zeit. Nun das Signal gebunden und ich kann wieder alles auswerten. :D

Danke & Gruß,
Oliver
Antworten