Тотальная неудачница и убийца жёстких дисков.
#post-id: 6769-21-33
#original-date: 6.02.2019 Wed
#original-time: 9:33 PM
#original-day:  6769
#original-host: WinXP Home SP3 (Build 2600)

Наконец-то кто-то объяснил, как выковыривать сообщения, отправляемые процессами через OutputDebugString()!

https://www.codeproject.com/Articles/13345/DbMon-NET-A-simple-NET-OutputDebugString-capturer

Теперь бы ещё понять, почему до первого запуска сисинтерналовского DebugView вызов OutputDebugString() без подключенного отладчика приводит к исключению, а после первого запуска – нет. Ну тоесть ставим голую винду, делаем в программе OutputDebugString() – ловим исключение. Запускаем DebugView, перезагружаемся для верности, делаем в программе OutputDebugString() – исключений больше нет.

Ну и хотелось бы знать, почему IsDebuggerPresent() выдаёт TRUE, если запущен DebugView, если на деле он ничего не отлаживает, а просто читает буфер.