Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
ВнизРабочая папка приложения. Найти похожие ветки
← →
opoloXAI © (2007-07-14 23:56) [0]Добрый день.
Есть не мною писанное приложение. С помощью ветки реестра : HKEY_CLASSES_ROOT\...\Shell\Open\Command\{} = "C:\Program Files\...\prog.exe %1"
я ему через параметры командной строки посылаю имя редактируемого документа. Программа запускается, но думает, что её рабочая папка соответствует пути к открываемому документу (D:\Work\...). В результате - не находит своих библиотек, "выполняет недопустимую операцию" и ...
Вопрос: где в реестре (или самописным приложением (через промежуточное приложение передавать имя документа)) изменить путь к папке с программой?
← →
Johnmen © (2007-07-15 00:15) [1]Положь в ред.док. в его раб.пап. Т.е. чтобы всё было одинаково для всего...
← →
sniknik © (2007-07-15 01:04) [2]> через промежуточное приложение передавать имя документа
создаешь ярлык, в нем есть указание рабочей папки независимое(должно быть) от передаваемого в параметре программы пути документа.
← →
Anatoly Podgoretsky © (2007-07-15 01:07) [3]Иди как положено, запускать через CreateProcess, хоть тяжелее, но зато независимость
← →
Johnmen © (2007-07-15 01:43) [4]
> Anatoly Podgoretsky © (15.07.07 01:07) [3]
> Иди как положено, запускать через CreateProcess, хоть тяжелее,
> но зато независимость
> Есть не мною писанное приложение.
← →
Германн © (2007-07-15 02:24) [5]
> opoloXAI © (14.07.07 23:56)
>
> Добрый день.
> Есть не мною писанное приложение. С помощью ветки реестра
> : HKEY_CLASSES_ROOT\...\Shell\Open\Command\{} = "C:\Program
> Files\...\prog.exe %1"
> я ему через параметры командной строки посылаю имя редактируемого
> документа. Программа запускается, но думает, что её рабочая
> папка соответствует пути к открываемому документу (D:\Work\.
> ..). В результате - не находит своих библиотек, "выполняет
> недопустимую операцию" и ...
>
Что мне сомнительно всё это. :(
А может просто те библиотеки поместить в "доступные" места? System32, например?
← →
sniknik © (2007-07-15 10:31) [6]Johnmen © (15.07.07 01:43) [4]
>> Есть не мною писанное приложение.
ну так запускает то он его сам из своей программы (иначе бы не мог править реестр)
> А может просто те библиотеки поместить в "доступные" места? System32, например?
лучше тогда путь программы к пользовательскому/системному path добавить. чтоб не засорять.
← →
Anatoly Podgoretsky © (2007-07-15 12:36) [7]> Johnmen (15.07.2007 01:43:04) [4]
> Есть не мною писанное приложение.
Которое запускает он
← →
Shamansky_ne © (2007-07-15 18:56) [8]вообще-то поиск dll файлов, из которых подгружаются функции, сначала производится в рабочей папке исполнительного файла, если там не находит, то потом идут системные папки System32.
Зачем было делать в программе привязку к пути библиотек, такому же как у документов, если он меняется и заведомо неизвестен, мне лично непонятно.
← →
Инс © (2007-07-15 19:00) [9]
> вообще-то поиск dll файлов, из которых подгружаются функции,
> сначала производится в рабочей папке исполнительного файла,
> если там не находит, то потом идут системные папки System32.
Более точно - так (прямо из Рихтера копирую):
1. Каталог, содержащий ЕХЕ-файл.
2. Текущий каталог процесса.
3. Системный каталог Windows
4. Основной каталог Windows
5. Каталоги, указанные в переменной окружения PATH.
← →
Германн © (2007-07-16 00:42) [10]
> sniknik © (15.07.07 10:31) [6]
>
> > А может просто те библиотеки поместить в "доступные" места?
> System32, например?
> лучше тогда путь программы к пользовательскому/системному
> path добавить. чтоб не засорять.
>
А как нынче обстоит дело с длиной переменной PATH? Отстал от жизни :(
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c