|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.04.2009, 11:25 | #1 |
Пользователь
Регистрация: 06.02.2008
Сообщений: 33
|
CreateProcess. Существуют тонкости в запуске консольных приложений?
Доброго дня,
Оговорюсь сразу, код спер отсюда: http://programmersforum.ru/showpost....7&postcount=10 Приведу сразу код, а затем расскажу, что у меня не выходит Код:
Код:
половина консольных приложений не выполняются, некоторые работают неверно. Пару примеров: Команда (в едит1): dir Результат: ничего Команда: dir c:\ Результат: ничего Команда: copy c:\1.txt c:\2.txt Результат: ничего Команда: ping programmersforum.ru Результат: При проверке связи не удалось обнаружить узел programmersforum.ru. Проверьте имя узла и повторите попытку. Команда: tracert programmersforum.ru Результат: Не удается разрешить системное имя узла programmersforum.ru. Команда: ipconfig Результат: Выводит нужный результат, работает как с ключами, так и без Команда: systeminfo Результат: в Error Output: Ошибка: Не найден указанный модуль. Собственно вопрос: что не так? Спасибо. з.ы. Я кстати все еще не против про named pipes почитать : http://programmersforum.ru/showthread.php?p=247072 Последний раз редактировалось st01en; 25.04.2009 в 21:11. Причина: замеченые очепятки поправил |
25.04.2009, 18:18 | #2 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 215
|
Попробуйте вызывать не
ping programmersforum.ru , а например так ping www.programmersforum.ru или полностью имя ping http://www.programmersforum.ru Может быть в этом и недочёт. Насчёт остальных не знаю, чесслово
[Ferox]
|
25.04.2009, 18:29 | #3 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Вопрс первый: ты уверен что CreateProcess вернул результат =true? Потому что в противном случае у тебя стоит Exit и получаем правильный ответ НИЧЕГО.
программа — запись алгоритма на языке понятном транслятору
|
25.04.2009, 19:38 | #4 | ||
Пользователь
Регистрация: 06.02.2008
Сообщений: 33
|
Цитата:
Цитата:
Но и это не все, некоторые консоьные утилиты запускаются с ошибками ... Последний раз редактировалось st01en; 25.04.2009 в 19:46. |
||
25.04.2009, 19:54 | #5 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
после createprocess добавь вызов Getlasterror. Он выдаст код ошибки который поможет узнать что не в порядке.
программа — запись алгоритма на языке понятном транслятору
|
25.04.2009, 20:15 | #6 | ||
Пользователь
Регистрация: 06.02.2008
Сообщений: 33
|
Цитата:
Код:
Цитата:
|
||
25.04.2009, 20:55 | #7 |
Пользователь
Регистрация: 13.05.2008
Сообщений: 12
|
трояна на нашел нужного =)
|
25.04.2009, 21:34 | #8 |
Пользователь
Регистрация: 06.02.2008
Сообщений: 33
|
ха-ха?
Так, с dir разобрался. Это вовсе не программа, а команда коммандной строки, ясное дело что он такого файла найти не смог. вот так все работает: cmd /c dir Но, по прежднему не работает ping/tracert - почему-то не ресолвит доменные имена, по IP адрессу нормально работает. systeminfo не находит какой-то модуль. Такое чуство, что процесс создается в какой-то уж очень изолированой от системы среде. |
11.05.2009, 07:31 | #9 |
Пользователь
Регистрация: 06.02.2008
Сообщений: 33
|
up
неужели никто не знает в чем проблема? |
11.05.2009, 20:09 | #10 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
Не знаю, какие переменные там нужны этому ping'у, но если в lpEnvironment передавать nil, а не пустой список (env), то всё работает.
--- Он %SystemRoot% использует, когда её нет, получается: Код:
Последний раз редактировалось Somebody; 11.05.2009 в 20:22. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по адресной арифметике и Message в консольных приложениях | Enikov | Помощь студентам | 5 | 01.01.2009 19:44 |
CreateProcess, С++ | MaTBeu | Win Api | 5 | 06.10.2008 22:56 |
CreateProcess() параметры | Diman4ik | Помощь студентам | 8 | 30.01.2008 03:11 |
CreateProcess (Delphi 7) | Alex.rus | Помощь студентам | 1 | 06.12.2007 20:12 |