Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

Рабочая папка приложения.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
3-1177243506
ZevSS
2007-04-22 16:05
2007.08.12
Обратная связь с MS SQL


2-1184227921
Abcdef123
2007-07-12 12:12
2007.08.12
Как правильно прописать Очень длинный массив (перенос строки)


15-1184255892
Petr V. Abramov
2007-07-12 19:58
2007.08.12
А почему в Маскве


2-1184321070
Dddddddd
2007-07-13 14:04
2007.08.12
Обратная связь TcpServer - TcpClient


1-1179609104
Dmitry_177
2007-05-20 01:11
2007.08.12
Длина строки