RELAX
Grünschnabel
Hallo,
da ich mich mit cmd besser auskenne als mit C++ frage ich komplexere
Informationen immer über einen cmd-befehl ab und bearbeite diese
Informationen dann intern.
Das funktioniert mit
auch sehr gut.
Kleines Beispiel:
In diesem simplen Fall wäre natürlich viel einfacher:
...aber ist ja nur ein Beispiel...

Naja zurück zu meinem Problem:
Das alles FUNKTIONIET, allerdings gibt es bei meinen Usern immer
komische Rückmeldungen wenn neben der GUI immer kurz ein
Dos-Fenster aufblitzt.
Ich habe verschiedene Lösungsansätze gefunden:
Über
und Fenster verstecken.
Problem:
Ich weiß das man so ein programm das gestartet wird
verstecken kann, aber kann man auch auslesen was das Programm zurückgibt?
Man könnte natürlich auch alles in eine Datei speichern
und die dann auslesen.
CMD:
Allgemein gefragt (auch für andere user mit ähnlichem Problem):
Gibt es eine Lösung ein Externes Programm
versteckt zu starten und ein Stream zum
lesen bzw. schreiben aufzubauen um
ausgaben bzw. eingaben zu tätigen?
Danke im voraus an jeden der sich das ganze überhaupt durchgelesen hat
Gruß RELAX
da ich mich mit cmd besser auskenne als mit C++ frage ich komplexere
Informationen immer über einen cmd-befehl ab und bearbeite diese
Informationen dann intern.
Das funktioniert mit
Code:
popen()
Kleines Beispiel:
Code:
char txt[MAX_PATH];
char psBuffer[MAX_PATH];
char out[MAX_PATH];
FILE *pPipe;
//...
strcat(txt, "echo %appdata%");
if( (pPipe = _popen( txt, "rt" )) != NULL )
{
ShowWindow(FindWindow(NULL, "VilleichtTitelDesCmdFensters?"), SW_HIDE);
while( !feof( pPipe ) )
{
if( fgets( psBuffer, MAX_PATH, pPipe ) != NULL )
strcat(out, psBuffer);
}
}
MessageBox(NULL, out, "Dein AppData-Pfad", MB_OK);
In diesem simplen Fall wäre natürlich viel einfacher:
Code:
char app[MAX_PATH];
//...
GetEnvironmentVariable("APPDATA",app, sizeof(app));




Naja zurück zu meinem Problem:
Das alles FUNKTIONIET, allerdings gibt es bei meinen Usern immer
komische Rückmeldungen wenn neben der GUI immer kurz ein
Dos-Fenster aufblitzt.
Ich habe verschiedene Lösungsansätze gefunden:
Über
Code:
CreateProcess()
Problem:
Ich weiß das man so ein programm das gestartet wird
verstecken kann, aber kann man auch auslesen was das Programm zurückgibt?
Man könnte natürlich auch alles in eine Datei speichern
und die dann auslesen.
CMD:
allerdings wäre das unprofessionell.echo %appdata% > datei.txt
Allgemein gefragt (auch für andere user mit ähnlichem Problem):
Gibt es eine Lösung ein Externes Programm
versteckt zu starten und ein Stream zum
lesen bzw. schreiben aufzubauen um
ausgaben bzw. eingaben zu tätigen?
Danke im voraus an jeden der sich das ganze überhaupt durchgelesen hat

Gruß RELAX
Zuletzt bearbeitet: