Главная страница
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.025 c
9-1165725158
Архипелаг-ГУЛАГ
2006-12-10 07:32
2008.01.20
Как была создана картинка для демки Archipelago из GLScene ?


6-1178537137
user51
2007-05-07 15:25
2008.01.20
как узнать имя рабочей группы компьютера ?


15-1197573255
Sergey Masloff
2007-12-13 22:14
2008.01.20
ICS и MidWare


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


2-1197991775
REDLORD
2007-12-18 18:29
2008.01.20
УКАЗАТЕЛЬ НА СТРОКУ В КОМПОНЕНТЕ TMEMO