Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 135
от 08.10.2005, 19:12

Администратор:Калашников О.А.
В рассылке:Подписчиков: 266, Экспертов: 29
В номере:Вопросов: 1, Ответов: 2


Вопрос № 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 стартует, по умолчанию, в папке профиля пользователя, но этот порядок вполне можно изменить, подправив ключик в реестре. Т.о., если сама программа не побеспокоится о "текущем каталоге", то никто ей его не установит...
---------
Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: 4-ый класс)
Отправлен: 04.10.2005, 10:26


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Rambler's Top100 Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.winapifaq
Архив рассылки
Отписаться
Вспомнить пароль

В избранное