|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Что такое текущая директория? |
|
Что такое текущая директория?
|
![]() Guest |
Помогите, пожалуйста, начинающему программисту разобраться с понятием текущей директории процесса. Раньше думал, что это каталог, из которого запускается приложение. Однако, сомнение появилось после того, как API-функция GetCurrentDirectory() возвратила "C:\Documents and Settings\имя_учётной_записи" (в Windows XP; реально программа запускалась из другого каталога). Причём это имело место только в случае автозапуска программы из реестра (HKLM\...\Run), при обычном запуске, а также при автозапуске из папки "Автозагрузка" функция возвращала каталог, из которого запускалась программа. Вообще-то вопрос возник после того, как появилась необходимость в программе, стартующей вместе с системой, создать или открыть существующий файл в каталоге программы. Для этого использовалась функция CreateFile(), которой передавалось имя соответствующего файла без пути к нему. Согласно документации файл должен был быть создан в текущей директории - он создавался в "C:\Documents and Settings\имя_учётной_записи". В принципе это не является большой проблемой, т.к. можно, например, запускать программу из папки "Автозагрузка" или использовать функцию GetModuleFileName() с последующим отбрасыванием имени исполняемого файла. Просто хочется узнать, почему так происходит?
|
|
Отправлено: 21:38, 27-01-2003 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Serj Mig
Скорее всего, FileDialog меняет текущую директорию. Ответ на Ваш вопрос, имхо, абсолютно очевиден. GetCurrentDirectory -> FileDialog -> SetCurrentDirectory(szOldCurrentPath) |
Отправлено: 09:33, 15-06-2004 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 53
|
Профиль | Отправить PM | Цитировать ExtractFilePath(Paramstr(0)) сегда возвращает диру откуда запущен exe. Принудительная установка GetDir
|
Отправлено: 00:19, 24-07-2004 | #12 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
что за папка (директория) $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 |
|