Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1184854845
Avokain
2007-07-19 18:20
2007.08.12
Числа вида 1,000,000


2-1184307465
vico
2007-07-13 10:17
2007.08.12
Как получить адрес объекта из метода этого же объекта?


2-1184568047
Girol
2007-07-16 10:40
2007.08.12
удалить запись(и) из БД Access


8-1162773834
OlDirtyBastard
2006-11-06 03:43
2007.08.12
TChart


2-1184435002
Sonic90
2007-07-14 21:43
2007.08.12
Кнопка формы на панели задач





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский