2014-09-23 10 views
-1

Возможно ли использовать программу C# exe для чтения текста в консоли, с которой она запущена, отображается до exe ​​запущен?Можно ли читать содержимое консоли?

Exemple:

c:\>dir 

25/07/2014 15:49 <REP>   Admin 
27/06/2014 08:54    28 t.bat 
14/05/2014 16:29 <REP>   Tracing 
21/07/2014 09:35 <REP>   Videos 
      3 fichier(s)   6 046 octets 
      16 Rép(s) 122 432 233 472 octets libres 

c:\>myexe.exe 

Тогда myexe.exe будет иметь доступ к выходу, порожденного командой дир (или любой другой выходной программы ...).

Я думаю, через Windows API, мне нужно, чтобы получить некоторую информацию консоли, а затем в конечном итоге получить консольный буфер, или что-то подобное ...

+1

'Я думаю, через API окон мне нужно получить информацию о консоли, а затем, в конце концов, получить консольный буфер или что-то в этом роде ...' Вы не хотите этого делать. Если ваш исполняемый файл зависит от этой информации, вы должны * передать эту информацию вашему исполняемому файлу в качестве ввода *, а не пытаться открыть этот гигантский баннер червей. – Servy

+1

Будет ли нормальное перенаправление ввода работать для вас? 'c: \> dir | myexe.exe' –

+0

, пожалуйста, прочитайте вопрос ... «зачем это нужно?» : кто имеет значение? – norisknofun

ответ

2

.NET не предоставляет эту функциональность напрямую. Вам нужно будет использовать ReadConsoleOutput в сочетании с GetStdHandle. Это не будет работать, если стандартный вывод будет перенаправлен.

Смежные вопросы