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

Вниз

Путь, откуда был вызван exe   Найти похожие ветки 

 
DimonNew   (2004-08-26 12:16) [0]

Привет, подскажите пож-та. Один exe файл вызвает второй. Как можно в исходном коде второго экзешнике узнать путь, откуда был вызван первый?


 
clickmaker ©   (2004-08-26 12:21) [1]

Если в виде параметра не передашь, то не узнаешь


 
SPy ©   (2004-08-26 12:21) [2]

:) Во закрутил-то :) Ты сам понял что написал?
Это что значит:
"откуда был вызван первый"? :) Сформулирую ТОЛКОВО!


 
Digitman ©   (2004-08-26 12:21) [3]

Самый простой вариант - передать 2-му ехе при его запуске строковый параметр, отражающий путь запуска 1-го ехе .. 2-й ехе после запуска получает этот параметр обращением к ф-ции ParamStr(1)


 
DimonNew   (2004-08-26 12:30) [4]

Я то понял, извини Spy, что ввел тебя в замешательство.
Одна программа вызывает кучу разных программ, и передает им параметры, но пути там нет. Исходные коды этой "кучи" программ есть, а у главной нет. Но эта главная программа может быть в разных каталогах, а "куча" программ толко в одном. Вот я и хотел спросить, что спросил.


 
Rule ©   (2004-08-26 12:30) [5]

этого он никогда не узнает
тебе надо при вызове второго приложения первым после его открытия передать как хочешь параметр пути первого, как это узнать я думаю знаешь, если нет то extractfilepath(Application.ExeName)


 
clickmaker ©   (2004-08-26 12:36) [6]


> [4] DimonNew   (26.08.04 12:30)
> Но эта главная программа может быть в разных каталогах

Тогда при установки этой кучи на каждую машину, где-нить в реестре прописать путь к главной, в исходники второй вставить чтение из реестра


 
Rule ©   (2004-08-26 12:45) [7]

можешь поискать в принципе решение через винапи, тоесть во втором приложении ищешь процесс и узнаешь путь запуска этого процесса, только вариант действителен если первых приложений только одно, а если запустить 2 с разных мест, то хуже


 
DimonNew   (2004-08-26 12:48) [8]

Спасибо большое за помощь!!!


 
Digitman ©   (2004-08-26 12:49) [9]


> DimonNew   (26.08.04 12:30) [4]


можно внедрить в АП 1-го ехе код, перехватывающий вызов CreateProcess

как только код перехвата обнаружит, что вызвана ф-ция CreateProcess, запустивший 2-й ехе, этот 2-й ехе немедленно извещается об интересующей его инфе через любой механизм интерпроцессной передачи инф-ции, например, MMF



Страницы: 1 вся ветка

Текущий архив: 2004.09.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
1-1093412780
Jenek
2004-08-25 09:46
2004.09.12
alt+f4


3-1092521194
Fantasy
2004-08-15 02:06
2004.09.12
DATA


14-1093172978
Piter
2004-08-22 15:09
2004.09.12
Что с Дремучими?


14-1093149042
ААМ
2004-08-22 08:30
2004.09.12
А ?


1-1093580888
samumka
2004-08-27 08:28
2004.09.12
Работа с датой в Delphi?