Hola,
No sé hasta qué punto podrás obtener el resultado del programa que ejecutas si no existe una vía de comunicación de por medio *, claro está. Tal vez sea una chapuza, pero, ¿qué tal hacer que el programa envíe el resultado a un determinado archivo y luego leer dicho archivo desde tu aplicación?
Probablemente hay algún otro remedio, pero, a falta de pan... etc., como suele decirse. Supongo que lo sabrás (o sea, que, en parte estás buscando otro remedio), pero, para conseguir lo dicho podrías ejecutar el programa más o menos de este modo, por ejemplo:
Código:
c:\>osql -L > C:\Windows\Temp\archivo.temp
* Nota: tal vez en la documentación del programa que vas a ejecutar se indique alguna otra forma de hacer esto, puesto que quien lo programara tuviera en cuenta este tipo de situaciones... no lo sé... acaso incluso teniéndolas en cuenta no lo estimaron conveniente.