Путь к EXE-файлу. | |
---|---|
Forward |
Подскажите, пожалуйста, как из EXE-файла определить путь к нему. Т.Е. из какой папки запущена программа.
|
Re: Путь к EXE-файлу. | |
---|---|
Владимир Максимов Автор Сообщений: 14098 Откуда: Москва Дата регистрации: 02.09.2000 |
------------------ |
Re: Путь к EXE-файлу. | |
---|---|
KDanylo Сообщений: 139 Откуда: Welland ON Дата регистрации: 05.09.2002 |
SYS (16, 0)
------------------ Ще в нашому лісі запалає ватра... |
Re: Путь к EXE-файлу. | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, Владимир!
Это не обязательно будет путь к папке где расположен exe - это путь к ТЕКУЩЕЙ папке, а в ярлыке для exe можно например задать этот путь отличным от того пути где сам exe лежит. SYS(16, 1) это то что нужно... ------------------ WBR, Igor |
Re: Путь к EXE-файлу. | |
---|---|
Владимир Максимов Автор Сообщений: 14098 Откуда: Москва Дата регистрации: 02.09.2000 |
Ну, Игорь, если уж быть настолько дотошным, то и SYS(16) - не гарантия правильности определения пути. А если запуск одного EXE из другого (надо определить положение подчиненного EXE)? А если главный стартовый файл - это форма?
Для большинства стандартных ситуаций требуется определить именно директорию по умолчанию. Если это не так, то опираться на какие-либо функции - заведомо порочный путь. Требуется просто где-то хранить эти пути доступа. ------------------ |
Re: Путь к EXE-файлу. | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, Владимир!
Хм, если прочитать вопрос, то вроде ясно что не текущий каталог интересует. А что есть ограничения - так конечно есть! Я лишь хотел подчеркнуть, что текущий и каталог размещения EXE это зачастую РАЗНЫЕ каталоги, и если я с трудом могу представить что пользователь вдруг напишет на фоксе свою программу и станет из неё запускать наш exe (а если мы сами такое сделаем, то наверняка сами-же и решим вопрос!), а вот что он создаст свой ярлык (или изменит наш) и стартовый каталог станет # каталогу размещения exe - это весьма вероятный ход событий. Цитата:Да, это реально выход - например для COM+ приложений как я понимаю это самое то - указать в реестре, где же искать каталог размещения компоненты (т.к. там могут лежать какие-то сопутствующие файлы). Но ты же не предложил сразу этот вариант А твой вариант просто когда-то давно больно меня ударил - достаточно долго я выяснял, почему-же это программа "вдруг" (ну как обычно пользователь говорит - "ничего не трогал, она сама") перестала работать. ------------------ WBR, Igor |
Re: Путь к EXE-файлу. | |
---|---|
Владимир Максимов Автор Сообщений: 14098 Откуда: Москва Дата регистрации: 02.09.2000 |
Эх, Игорь. Вот любишь ты все усложнять! ;)
Ну, предположим, новичек написал новую программу (EXE). Как он будет ее использовать? Да как проще всего! Положит в некую папку, создаст ярлык через визард ярлыков. Все! Будет он в этом ярылке что-то менять? Сильно сомневаюсь! Т.е. при "штатной" работе директория расположения EXE совпадает с директорией по умолчанию! И из вопроса это неявно видно. Нигде нет упоминания о директории по умолчанию. Ведь вопрос не звучит как "Директория расположения EXE отлична от директории по умолчанию". Вот если Forward все-таки ответит и скажет, что FullPath("") не сработал, то это и будет говорить о том, что директория расположения EXE не совпадает с директорией по умолчанию. НО! В этом случае нет никакой гарантии, что сработает и SYS(16) (почему, описал ранее). Тут уже потребуются файлы инициализации, или запись в системный реестр, или передача пути как параметра в EXE. ------------------ |
© 2000-2024 Fox Club  |