STDOUT umleiten



  • Ich suche einen Weg STDOUT-Nachrichten umzuleiten...

    Ich rufe eine DLL-Funktion auf (Python). Bei Fehlern schreibt es was in STDOUT und an diese Informationen möchte ich rankommen...

    Hab was von pipes gelesen... nur diese werden zusammen mit CreateProcess verwendet... aber was mache ich bei der DLL-Funktion???

    Danke


  • Mod

    Das Umlenken muss der Prozess machen, der den Prozess startet.



  • ja nur ich mach es mit LoadLibrary und GetProcAddress

    wie kann ich da einen Prozess dazwischenfummeln?



  • Dann wird er vermutlich den stdout deines Prozesses benutzen.
    (Warum benutzt die dll dafür eigentl. nicht stderr?)


  • Mod

    Das frage ich mich auch.

    Man kann zwischen einen LoadLibrary kienen Prozess dazwischenfummlen. Der Prozess hat entsprechende stdout, stderr etc Handles. Diesegehören zum Prozess.

    Was ist das nun mit der DLL? Warum gibt die überhaupt in dieser Form etwas aus. "Vernünftige DLL's" würden ein Filehandle bekommen in das eine Ausgabe erfolgt... dann bestimmt das Handle wohin die Ausgabe erfolgt! Oder die bkeommen gleiche einen Dateinamen oder oder oder...



  • hm ja oder es war StdErr - nur diese Texte erscheinen auch in Konsole...

    in Python gibt es zwar eine Funktion mit der man zumindest Fehler zu Objekten "umleiten" kann - das funktioniert bei mir nicht (aber komischerweise erscheinen Fehler beim Beenden in Konsole - evtl. liegt es daran - wäre aber irg. unpraktisch - dann müsste ich python ja finalisieren, was ich auch nicht will) - die zurückgelieferte Objekte sind Null - auch Funktion welche bei Fehler 1 zurückliefern kann liefert immer 0 zurück... tja dann wollte ich es anders umbiegen... aber es geht wohl auch nicht...

    ich hab noch glaub was anderes gesehen - da konnte man im python script einen error-handler definieren... aber dann muß ich paar py-module importieren (was ich nicht so gerne wollte)


Anmelden zum Antworten