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

Вниз

Можно ли узнать, кто использует DLL   Найти похожие ветки 

 
Alex_C   (2007-12-18 16:09) [0]

Есть DLL. Ее используют несколько программ. Можно ли внутри DLL узнать, какая программа ее использует, в частности сделать это в
DLL_PROCESS_ATTACH
Надо для того, чтоб в зависимости от того, какая программа использует DLL данные считывались бы из разных Setup-файлов.
Т.е. типа такого:

procedure DLLEntryPoint(dwReason:DWord);
begin
   case dwReason of
       DLL_PROCESS_ATTACH: begin
                                             if <чего-то> then SetupFile:= "Setup1"
                                             else SetupFile := "Setup2".

Понятно конечно, что можно сделать отдельно ф-цию типа InitSetupFile и в качестве параметра передавать имя файла, а вот по другому?


 
Григорьев Антон ©   (2007-12-18 16:24) [1]

Функция GetModuleFileName с параметром, равным 0, возвращает имя exe-файла, текущего процесса.


 
DiamondShark ©   (2007-12-18 16:32) [2]


> Можно ли внутри DLL узнать, какая программа ее использует

А что значит "какая программа"? Имя ехе-файла что-ли?
Это можно: GetModuleHandle и GetModuleFileName

А толку?


 
DiamondShark ©   (2007-12-18 16:43) [3]


> Григорьев Антон ©   (18.12.07 16:24) [1]

А МСДН врёт?


 
Leonid Troyanovsky ©   (2007-12-18 18:00) [4]


> DiamondShark ©   (18.12.07 16:43) [3]

> А МСДН врёт?

Отнюдь, так и утверждает:

If this parameter is NULL, GetModuleFileName retrieves the path of the executable file of the current process.

--
Regards, LVT.


 
Alex_C   (2007-12-18 18:50) [5]


> А толку?


Ну так это мне и надо было. GetModuleFileName - то что надо! Большое спасибо!


 
DiamondShark ©   (2007-12-19 12:10) [6]


> Leonid Troyanovsky ©   (18.12.07 18:00) [4]

Вот враги!
МСДН апрель 2003:

hModule
[in] Handle to the module whose path is being requested. If this parameter is NULL, GetModuleFileName retrieves the path for the current module.

А тут
http://msdn2.microsoft.com/en-us/library/ms683197(VS.85).aspx
уже
retrieves the path of the executable file of the current process.



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

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

Наверх




Память: 0.48 MB
Время: 0.057 c
15-1197639810
Fran
2007-12-14 16:43
2008.01.20
Дата прописью на калмыцком языке


11-1182680002
=BuckLr=
2007-06-24 14:13
2008.01.20
RE_FmtStandard


2-1198084368
Stepper
2007-12-19 20:12
2008.01.20
Почему не грузится проект? Апосля такой вот компиляции!


2-1198071249
Alik
2007-12-19 16:34
2008.01.20
Кодировка КОИ-8 в текстовом файле


2-1198324608
223001
2007-12-22 14:56
2008.01.20
подскажите пожалста