Консольные программы и перенаправление вывода

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Консольные программы и перенаправление вывода

Сообщение Lumen » 07.10.2007 (Вс) 4:10

Здравствуйте, уважаемые гуру!

Случайно наткнулся на очень странную вещь: у меня почему-то неправильно работают консольные программы с перенаправленным StdOut. To есть если взять код из API Guide под названием "Redirect Output" и в первом текстбоксе написать ну к примеру "ping www.mail.ru", то во втором текстбоксе будет "При проверке связи не удалось обнаружить узел www.mail.ru. Проверьте имя узла и повотрите попытку", в то время как в консоли (cmd) все будет нормально пинговаться... Подскажите пожалуйста в чем загвоздка?

Спасибо.
Подпись проходит рефакторинг

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 07.10.2007 (Вс) 8:18

Если целью всего является Ping, то пинговать можно через WMI или специальные API-функции. И это будет лучше, чем делать это таким образом, каким пытаешься ты.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 07.10.2007 (Вс) 11:14

Не, пинг это я для примера привел. Мне nslookup нужен. Может для него тоже есть более простое и удачное решение?
Подпись проходит рефакторинг

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 07.10.2007 (Вс) 16:49

Ладно, поставим вопрос по-другому: как можно прочитать данные из окна консольной программы? Тоже наверняка как-то через Pipe, но я не совсем представляю как это сделать, подскажите пожалуйста...
Подпись проходит рефакторинг

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 07.10.2007 (Вс) 17:52

Всё, разобрался. Проблема снята. Спасибо всем, а отдельное спасибо GSerg'у за вот этот http://bbs.vbstreets.ru/viewtopic.php?p=99127#99127 пост. Твой вариант работает, хотя я пока не разобрался, в чем именно причина. Буду сравнивать...
Ещё раз спасибо, реально выручил...
Подпись проходит рефакторинг

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 07.10.2007 (Вс) 19:24

Твой вариант работает, хотя я пока не разобрался, в чем именно причина. Буду сравнивать...

Мой? :roll: А в чём он заключается?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Сообщение iGrok » 07.10.2007 (Вс) 19:29

Кажется, он имел в виду вариант GSerg'а..
label:
cli
jmp label

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 07.10.2007 (Вс) 19:50

Во-первых, GSerg в данной теме не участвовал и поэтому обращений к нему с помощью местоимения "Твой" в данном случае смотрится несколько некорректно. Во-вторых, GSerg ушёл с данного форума, и в любом случае он это обращение не увидит.
Последний раз редактировалось Хакер 07.10.2007 (Вс) 23:40, всего редактировалось 1 раз.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 07.10.2007 (Вс) 23:30

GSerg ушел?
Аяяй, какая жалость...
Что он не увидит мою благодарность за его пример...
А ведь мне он реально помог. Жалко блин что такие люди уходят...
Подпись проходит рефакторинг

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 07.10.2007 (Вс) 23:34

Хакер
Lumen писал(а): отдельное спасибо GSerg'у за вот этот http://bbs.vbstreets.ru/viewtopic.php?p=99127#99127 пост. Твой вариант работает, хотя я пока не разобрался, в чем именно причина. Буду сравнивать...

Я имел в виду именно GSrerg'a потому что я не знал что он ушёл
Подпись проходит рефакторинг


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 89

    TopList