Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Консоль: определение факта перенаправления stdout в файл


vertal ©   (2006-10-02 00:20:00) 

Как определить, был ли перенаправлен stdout для консольного приложения?


Ketmar   (2006-10-03 03:13:00) [1]

>[4] vertal(c) 2-Oct-2006, 20:00
>Спасибо,  GetConsoleMode - работает. А я
работает -- потому что я проверил перед тем, как советовать. %-)


vertal   (2006-10-02 20:00:00) [2]

> Ketmar ©   (02.10.06 00:57) [1]
Спасибо,  GetConsoleMode - работает. А я безуспешно искал в console api специализированную функцию для этого вроде IsHandleRedirected.
Про GetFileType не знал и не нашел, потому что он в справке в группе функций, относящихся к файлам, а не консоли.


Ketmar   (2006-10-02 14:08:00) [3]

да. пардон. так, конечно, правильней. впрочем, мой метод тоже рабочий. %-))


BiN   (2006-10-02 11:13:00) [4]


> vertal ©   (02.10.06 00:20)


GetFileType


Ketmar   (2006-10-02 00:57:00) [5]

есть недокументированый способ. простой. проверить, является ли хэндл консольным. всего одна строка. но я его не дам именно по кричине того, что он "кривой хак". %-)

а по-уму -- вызвать, например, GetConsoleMode() с соответствующим хэндлом. если хэндл не консольный -- оно вернёт false.


Наверх

Титульная страница Поиск, карта сайта Написать письмо