Es gibt keine API, die Ihnen Zugriff auf Strings bietet, die über OutputDebugString
ausgegeben werden.
Es gibt zwei Möglichkeiten, um an die Daten zu gelangen:
- Schlechte Idee: Implementieren Sie die Client-Seite des OutputDebugString-Protokolls.
- Bessere Idee: Hängen Sie die Funktion
OutputDebugStringA
.
Das OutputDebugString
-Protokoll unterstützt nur einen einzigen Empfänger, daher ist der erste Ansatz nicht kompatibel mit mehreren Instanzen Ihrer Anwendung, anderen Anwendungen, die dasselbe tun, oder Debuggern. Außerdem würde es Ausgaben von allen Anwendungen erfassen. Es ist keine gute Idee. Ich erwähne es nur, weil es eine offensichtliche, aber falsche Lösung ist.
OutputDebugStringW
ist (ungewöhnlicherweise) ein Wrapper um OutputDebugStringA
, also ist letzteres die Funktion, die gehängt werden sollte. Es gibt viele Bibliotheken, die das Hängen erleichtern, sodass jeder Aufruf von OutputDebugString
zu einem Aufruf einer von Ihnen definierten Funktion wird und Sie mit den Daten machen können, was Sie möchten.