Genau, das ist die Intention. Nur WinExec ist nur Zwecks Kompatibilität noch da (siehe
diese Notiz ganz oben).
Mehr Kontrolle (und moderner) geht es mit der Aufruffamilie um
CreateProcess. Damit kannst du dann auch sehr fein einstellen, was genau aufgerufen wird.
[Edit 1]
Anders als putty (wo es ja um Interaktivität geht), brauchst du bei pscp grundsätzlich nicht das stdIn/Out des neuen Prozesses. Jedoch bist du vermutlich am Erfolg und des Fortschritts der Übertragung interessiert!? Ich habe das jetzt bei pscp nicht getestet; vielleicht kannst du grundsätzlichen Erfolg über den ExitCode von pscp herausfinden? Wenn du mehr Details brauchst, dann müsstest du dir gegebenenfalls StdOut besorgen und die Ausgabe in deinem Programm weiterverarbeiten.
[/Edit]
[Edit 2]
Falls du das mit CreateProcess machen solltest, seien dir in der
STARTUPINFO die Felder hStdOutput und hStdError (ganz unten in der Struct) wärmstens zu empfehlen
[/Edit]
[Edit 3]
Das
Handle kannst du mit
CreatePipe erzeugen. Dieser Aufruf erzeugt eine Pipe mit zwei verbundenen Handles. Das eine Ende kannst du dann dem neuen Prozess übergeben und aus dem anderen kannst du dann (z.B. in einem eigenen Thread in deinem Programm) wiederholt lesen, bis das Programm sich beendet/du das Programm beendest/die Ausgabe des Programms dich nicht mehr interessiert/.... Aufräumen nicht vergessen.
[/Edit]
[Edit 4]
Nachtrag: Artverwandtes Thema gefunden;
Klick!
[/Edit]
Brighty
Do you have the email of god??? --- I have to tell him that I'm happy to be born!