A pesar de todos los esfuerzos por tratar de capturar todos los mensajes de la consola, estoy experimentando un problema extraño en el que tengo dos aplicaciones de consola:
El problema es que si ejecuto directamente "DeviceController.exe", recibo algunos mensajes útiles de salida de la consola de la DLL de PInvoked junto con mis mensajes previstos de la aplicación. Si, en cambio, lo inicio a través de "ConsoleWrapper.exe", se produce un efecto muy extraño: los mensajes de PInvoke DLL se retrasan de alguna manera. Con esto quiero decir que parecen perderse pero en realidad se vacían todos a la vez cuando finaliza el proceso de "DriverController.exe" o cuando ordeno un (kernel32).FreeLibrary() de la DLL al "DeviceController.exe ". Es como si la DLL de PInvoked tuviera un búfer de consola diferente al de mis aplicaciones de C#.
¿Alguien tiene una idea de por qué sucede esto y cómo forzar el lavado de esos mensajes en el momento adecuado?
Yo he tratado:
Otra pregunta útil pero sin respuesta que he encontrado es: