Вопрос № 27175: Подскажите каким образом можно поменять рабочий каталог. Пробовал SetCurentDirectory. Они меняю, но только это изменение остается в рамках программы (процесса). т.е. внутри программы меняется (для дочерних процессов тоже), но как только завершаю прог...
Вопрос № 27.175
Подскажите каким образом можно поменять рабочий каталог. Пробовал SetCurentDirectory. Они меняю, но только это изменение остается в рамках программы (процесса). т.е. внутри программы меняется (для дочерних процессов тоже), но как только завершаю программу, то возвращаюсь в каталог откуда запускал.
Отправлен: 03.10.2005, 19:11
Вопрос задал: dfdfdf (статус: 10-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Bob Johnson
Здравствуйте, dfdfdf!
Так понятие "текущий каталог" и существует в отношении какого-либо процесса. Сменить текущий каталог для родительского процесса нельзя (у него свой). Может быть тебе надо при запуске просто считывать, а перед выходом сохранять текущий каталог?
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 03.10.2005, 21:54 Оценка за ответ: 4 Комментарий оценки: Мне нужно написать аналог команды cd. А понятие текущего каталога в винде должно быть так же как и в DOS. Командная строка всё помнит. Ведь неважно из какого процесса запускаешь команду cd она просто работает. (Хм... или не так??? или все в природе исполняет cmd??? но тогда к нему тоже можно обратиться... разве не так???).
Спасибо за быстрый ответ.
Отвечает: Лысков Игорь Витальевич
Здравствуйте, dfdfdf!
Согласен с Bob Johnson.
Общего понятия "текущий каталог" в Винде не существует.
Каждый новый процесс запускается в папке, в которой найден файл программы либо откуда запущен родительским процессом, если не указано противное (например, в ярлыке). За исключением некоторых процессов, для которых "текущая папка" выбирается по своим законам.
В частности, консоль cmd.exe стартует, по умолчанию, в папке профиля пользователя, но этот порядок вполне можно изменить, подправив ключик в реестре. Т.о., если сама программа не побеспокоится о "текущем каталоге", то никто ей его не установит...
--------- Удачи!