Главная страница
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.017 c
15-1197881863
@!!ex
2007-12-17 11:57
2008.01.20
Вэйвлет(Wavelet)


15-1197349485
AntiPupkin
2007-12-11 08:04
2008.01.20
Скажите правду?


2-1197905519
andreoman
2007-12-17 18:31
2008.01.20
перебор форм в прилодении


2-1198222508
ZLynX
2007-12-21 10:35
2008.01.20
TFileStream


2-1198415884
Artem
2007-12-23 16:18
2008.01.20
Как заставить работать TAnimate (воспроизводить gif-файлы)