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

Вниз

Как распознать COM?   Найти похожие ветки 

 
kingdom ©   (2002-11-22 18:18) [0]

Задача: На вход дается имя файла (exe или dll)
Вопрос: Как определить является ли файл COM сервером?


 
Marcus   (2002-11-22 18:20) [1]

hLib := LoadLibrary("test.dll");
if (GetProcAddress(hLib, "DllRegisterServer") <> nil) then
IsComServer := true


 
kingdom ©   (2002-11-22 18:40) [2]

>Marcus
К сожалению на EXE это не действует!


 
kingdom ©   (2002-11-25 12:26) [3]

>To All
Видимо нельзя :((
вот облом!


 
Fantasist ©   (2002-11-25 17:59) [4]


> >To All
> Видимо нельзя :((

Ну, чисто теоретически, возможно перехватить вызов API функции CoRegisterClassObject. Потом запускаешь exe и если эта функция вызывается, то почти наверняка это OLE сервер.


 
Fantasist ©   (2002-11-25 18:05) [5]

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


 
Marcus   (2002-11-25 18:13) [6]

> >To All
> Видимо нельзя :((

Есть еще способ, но только если сервер зарегистрирован на машине: открыть раздел

HKEY_CLASSES_ROOT\AppID\server.exe

Если он есть, server.exe - COM сервер. В этом разделе живет параметр AppID, по которому можно дальше найти подробную инфу о сервере.



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
1-14613
^Sanya
2002-11-24 10:41
2002.12.05
Есть ли ошибка в моём коде?


3-14403
IgorokS
2002-11-14 16:45
2002.12.05
как используя Delphi и MySQL заставить данный запрос работать?


14-14816
lak
2002-11-14 17:27
2002.12.05
флэш в делфях


3-14371
Jony
2002-11-14 17:27
2002.12.05
И дата и время в DBDateTimeEditEh


1-14480
MainKaif
2002-11-22 23:39
2002.12.05
Как сделать программу которая будет работать в фоновом режиме