Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
3-1189449856
DiX
2007-09-10 22:44
2008.01.20
Как правильно работать с TClientDataSet?


15-1197523988
shlst
2007-12-13 08:33
2008.01.20
Ваша миссия, которая сама вас нашла :)


1-1192557712
dRake
2007-10-16 22:01
2008.01.20
Browsing paths в BDS 2006


2-1198412113
}I{aI-I4er
2007-12-23 15:15
2008.01.20
Простой прикол с блокнотом


6-1178605115
nali
2007-05-08 10:18
2008.01.20
не работатет InternetOpenUrl в потоке




   Наверх