QProcess mit 16-bit-programm?

Alles rund um die Programmierung mit Qt
Antworten
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

QProcess mit 16-bit-programm?

Beitrag von -=Freaky=- »

hi,

ich muss mithilfe von QProcess (bzw. egal womit, ich versuche es aber damit) input/output von net.exe (benutzt z.B. für "net send [...]") schreiben/lesen. das ist aber leider ne 16-bit-anwendung, und damit kann QProcess, wie ja auch in der doku steht, eben nicht umgehen (bzw. es kann probleme damit geben - und die gibt es).
ich sehe also keinen output (ob der input ankommt, weiss ich nicht.

jetzt steht in der doku, dass microsoft dafür sog. "intermediate applications" empfiehlt. und in der qt3.1-doku sogar ein link zu nem msdn-knowledge-article, der aber leider schon nicht mehr existiert.
zu diesen intermediate applications hab ich noch keine hilfe finden können.

meine hoffnung war, dass mir hier vielleicht jemand weiterhelfen kann, vielleicht mit einem link/tipp/zauberwort (für google) ?

danke im voraus!

mfg,
julian
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Was sollen wir dazu jetzt sagen, wir wissen ja nicht mal was das Problem ist.
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

Code: Alles auswählen

QProcess proc;
proc.start( "blah.exe" );
QByteArray output = proc.readAllStandardOutput()
ist blah.exe als win32 anwendung kompiliert, kein problem.
ist es allerdings eine 16-bit-app, so bekommt man keinen output zurück (variable output ist immer leer).

ich brauche aber den output von blah.exe, und es ist ein 16-bit-programm.
was kann ich tun? gibt es eine möglichkeit, das mit Qt(4.2.3) hinzubekommen?

... so besser ?

mfg,
julian
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Hast Du fein gemacht :wink: Du hast den Aufruf deiner blah.exe getestet, davon gehe ich mal aus. Du hast auch geprüft das die blah.exe mit geänderten Umgebungen klar kommt, falls die blah.exe irgendwas lesen will, und Du hast wahrscheinlich auch die Ausgaben von stderr überwacht.

Schon geprüft ob die Signale kommen? Testen kann ich da nichts, da mir keine 16-Bit-App bekannt ist. Von Probleme habe ich in Doku zu 4.2.3 jedenfalls nichts gefunden.
bst
Beiträge: 56
Registriert: 7. November 2006 13:16
Wohnort: Ilsfeld

Beitrag von bst »

Hi,

sowas scheint bei mir zu funktionieren.

cu, Bernd
--

Code: Alles auswählen

#include <QDebug>
#include <QProcess>

int main(void)
{
	QProcess qp;

	qp.start("c:\\windows\\system32\\cmd.exe", QStringList() << "/C" << "c:\\uti\\argecho.exe" << "1" << "2" << "3");
	qp.waitForFinished();
	qDebug() << "qp:" << qp.readAll();

   return 0;
}
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

ok vielen dank an alle, der fehler lag doch ganz woanders (bei mir :)), QProcess war nicht schuld.
falscher alarm ...

mfg,
julian
Antworten