Как поменять рабочую папку програмы во время ее выполнения

Модераторы: Duncon, Naeel Maqsudov, Хыиуду, Игорь Акопян

namomelkor
Сообщения: 227
Зарегистрирован: 31 авг 2006, 13:11

19 мар 2007, 12:27

нужно поменять рабочую папку программы вовремя ее выполнения.
ситуация такая в реестре прописываю прогу в автозапуск и тогда прога начинает использовать папку юзера для работы с:\document and settings\user
я нужно чтоб использовала папку из которой запускается
BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

19 мар 2007, 12:53

Так ведь в ярлыке запуска можно указать рабочую папку.
Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

19 мар 2007, 13:08

а что мешает определить каталог, из которого была запущена прога через ParamStr(0)? И в дальшейшем этот путь использовать...
Изображение
namomelkor
Сообщения: 227
Зарегистрирован: 31 авг 2006, 13:11

19 мар 2007, 13:48

Да забыл сказать что автозапуск в реестре прописываю
namomelkor
Сообщения: 227
Зарегистрирован: 31 авг 2006, 13:11

19 мар 2007, 13:49

Игорь Акопян писал(а):а что мешает определить каталог, из которого была запущена прога через ParamStr(0)? И в дальшейшем этот путь использовать...
вроде получилось так

SetCurrentDir(ExtractFilePath(Application.ExeName));
Blood_Magic
Сообщения: 268
Зарегистрирован: 30 июн 2005, 14:53

20 мар 2007, 12:36

GetDirиSetDir
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

20 мар 2007, 12:59

Зря микросовтовцы не поставили на Program Files\... пермишены только для чтения, ой зря.
2B OR NOT(2B) = FF
ntoskrnl.dll
Сообщения: 12
Зарегистрирован: 16 янв 2007, 14:37

20 мар 2007, 16:08

Для этого есть функция SetCurrentDir в модуле SysUtils.
Передавай ей строку новой рабочей директории в качестве параметра:
SetCurrentDir('C:\...');
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

20 мар 2007, 16:51

&quot писал(а):Для этого есть функция SetCurrentDir в модуле SysUtils.
Передавай ей строку новой рабочей директории в качестве параметра:
SetCurrentDir('C:\...');
namomelkor вообще то так и написал в 5-ом посте.
It's a long way to the top if you wanna rock'n'roll
namomelkor
Сообщения: 227
Зарегистрирован: 31 авг 2006, 13:11

20 мар 2007, 18:43

действительно
Ответить