Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Что такое текущая директория?

Ответить
Настройки темы
Что такое текущая директория?

Аватара для Guest

Guest



Профиль | Цитировать


Помогите, пожалуйста, начинающему программисту разобраться с понятием текущей директории процесса. Раньше думал, что это каталог, из которого запускается приложение. Однако, сомнение появилось после того, как API-функция GetCurrentDirectory() возвратила "C:\Documents and Settings\имя_учётной_записи" (в Windows XP; реально программа запускалась из другого каталога). Причём это имело место только в случае автозапуска программы из реестра (HKLM\...\Run), при обычном запуске, а также при автозапуске из папки "Автозагрузка" функция возвращала каталог, из которого запускалась программа. Вообще-то вопрос возник после того, как появилась необходимость в программе, стартующей вместе с системой, создать или открыть существующий файл в каталоге программы. Для этого использовалась функция CreateFile(), которой передавалось имя соответствующего файла без пути к нему. Согласно документации файл должен был быть создан в текущей директории - он создавался в "C:\Documents and Settings\имя_учётной_записи". В принципе это не является большой проблемой, т.к. можно, например,  запускать программу из папки "Автозагрузка" или использовать функцию GetModuleFileName() с последующим отбрасыванием имени исполняемого файла. Просто хочется узнать, почему так происходит?

Отправлено: 21:38, 27-01-2003

 

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Serj Mig
Скорее всего, FileDialog меняет текущую директорию. Ответ на Ваш вопрос, имхо, абсолютно очевиден. GetCurrentDirectory -> FileDialog -> SetCurrentDirectory(szOldCurrentPath)

Отправлено: 09:33, 15-06-2004 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 53
Благодарности: 0

Профиль | Отправить PM | Цитировать


ExtractFilePath(Paramstr(0)) сегда возвращает диру откуда запущен exe. Принудительная установка GetDir

Отправлено: 00:19, 24-07-2004 | #12



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Что такое текущая директория?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
что за папка (директория) $OEM$ Bullet-Avalon Автоматическая установка Windows 2000/XP/2003 1 30-11-2008 09:58
Что такое АД? verdix Хочу все знать 2 09-06-2008 10:18
Текущая настройка безопасности ActiveX Motto Защита компьютерных систем 1 26-12-2004 19:05
Что такое OS/2? Diesel Хочу все знать 3 14-03-2003 00:12




 
Переход