hinst писал(а):я так и не понял, в каком случае у тебя работает, а в каком не работает
Ок. Сейчас попробую по полочкам.
Если мы запускаем как процесс
CreateProcess команду:
- Код: Выделить всё
ping localhost
То в ответе
stdout отчетливо видим:
- Код: Выделить всё
При проверке связи не удалось обнаружить узел localhost. Проверьте имя узла и повторите попытку.
Что смущает.
При этом, если с помощью того-же
CreateProcess запустить:
- Код: Выделить всё
ping 127.0.0.1
То все ок.
Если мы обычными средствами запускаем команду (пуск - Выполнить - cmd):
- Код: Выделить всё
ping localhost
То тоже все ок.
Вот я и не могу понять, чего не хватает запущенному процессу в первом случае, что-бы резолвить вполне уникальный
localhost. Ситуация с точки зрения системного администратора мистическая, вплоть до того, что заставила меня проверить компьютер на вирусы с live-cd. А так-же вплотную изучить систему при помощи
AVZ. Но ничего не нашел.
Мало того, я специально попробовал запустить этот-же бинарник на другом ПК - результат такой-же. Теперь у меня возникает вопрос, что возможно, когда создаем процесс
CreateProcess он (например) получает не все переменные окружения? Или тут проблема в другом. Под
Delphi этот код не пробовал, нет под рукой...