HeReSY
27-02-2003, 20:26
hi,
ibt es irgendeine möglichkeit, mit den Qt- Bibs 2.3 die Ausgabe von Programmen umzuleiten, und wenn ja, kann man mir vielleicht ein kleines Beispiel geben.
am besten wäre es noch, wenn man das andere programm nicht sichtbar wird.
Hab es schon mal hiermit probiert, aber da kommt kein vernünftiges Ergebnis bei raus. Sagen wir besser es kommt gar nichts bei raus.
char psBuffer[128];
FILE *drives;
/* Run cdrdao to scan the scsi bus for drives */
if( drives= _popen( "cdrdao scanbus", "r" )) == NULL ) // hab auch rt und rb schon ausprobiert
exit( 1 );
/* Read pipe until end of file. End of file indicates that
* drives closed its standard out (probably meaning it
* terminated).
*/
while( !feof( drives) )
{
if( fgets( psBuffer, 128, drives) != NULL )
m_StdOut += psBuffer;
}
/* Close pipe */
_pclose( chkdsk );
// Ausgabe nur zum test wird dann weiterverarbeitet
QMessageBox::information(0, "", m_StdOut);
ibt es irgendeine möglichkeit, mit den Qt- Bibs 2.3 die Ausgabe von Programmen umzuleiten, und wenn ja, kann man mir vielleicht ein kleines Beispiel geben.
am besten wäre es noch, wenn man das andere programm nicht sichtbar wird.
Hab es schon mal hiermit probiert, aber da kommt kein vernünftiges Ergebnis bei raus. Sagen wir besser es kommt gar nichts bei raus.
char psBuffer[128];
FILE *drives;
/* Run cdrdao to scan the scsi bus for drives */
if( drives= _popen( "cdrdao scanbus", "r" )) == NULL ) // hab auch rt und rb schon ausprobiert
exit( 1 );
/* Read pipe until end of file. End of file indicates that
* drives closed its standard out (probably meaning it
* terminated).
*/
while( !feof( drives) )
{
if( fgets( psBuffer, 128, drives) != NULL )
m_StdOut += psBuffer;
}
/* Close pipe */
_pclose( chkdsk );
// Ausgabe nur zum test wird dann weiterverarbeitet
QMessageBox::information(0, "", m_StdOut);