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

Вниз

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

 
kull ©   (2003-04-23 16:41) [0]

Создал я объект функцией CreateComObject.
Как узнать путь к этому com серверу?


 
REA ©   (2003-04-23 16:43) [1]

А это видимо вредно для здоровья. OS должна сама сервер находить вне зависиости от того где он расположен (на этой машине, на соседней, на нескольких).


 
kull ©   (2003-04-23 16:48) [2]

Хорошо тогда вопрос такой как узнать путь, куда установлен winword.exe ?


 
REA ©   (2003-04-23 16:55) [3]

В принципе регистрационная информация есть в реестре, но для использования Winword нет необходимости знать где он расположен.


 
kull ©   (2003-04-23 17:00) [4]

ХОРОШО тогда вопрос такой: как узнать путь "X:\Program Files\Microsoft Office\Office\Startup".
Ведь я могу поставить word и на диск C и на диск D или еще куда...

Мне нге нужен сам winword.exe, мне нужен путь к нему...


 
Bel ©   (2003-04-23 17:05) [5]

Можно по реестру. Показываю на примере моей машины:
HKEY_CLASSES_ROOT\Word.Application\CurVer = "Word.Application.9"
HKEY_CLASSES_ROOT\Word.Application.9\CLSID = "{000209FF-0000-0000-C000-000000000046}"
HKEY_CLASSES_ROOT\CLSID\{000209FF-0000-0000-C000-000000000046}\LocalServer32 = "C:\PROGRA~1\MICROS~1\OFFICE\WINWORD.EXE /Automation"


 
Serginio   (2003-04-23 17:24) [6]

Приблизительно так
Var ClassID: TCLSID;

FileDll:String;
Begin
CLSIDFromProgID(ClassName, ClassID);
Reg:=Tregistry.Create;
Reg.RootKey := HKEY_Classes_ROOT;
If reg.OpenKey("CLSID\"+GuidToString(ClassID++"\InprocServer32",False) Then
Begin
FileDll:=reg.ReadString(""); // путь к файлу


 
Goffman   (2003-04-23 17:29) [7]

Каждый COM объект обязан иметь GUID.
С помощью него винда определяет где искать сей COM object.
Для Word.Application CLSID={000209FF-0000-0000-C000-000000000046}
GUID"ы хранятся в реестре в ключе HKCR\CLSID\
В ключе любого GUID есть вложенный LocalServer32.
Его значение и определяет путь оле-сервера


 
kull ©   (2003-04-23 17:36) [8]

Спасибо! Пожалуй так и сделаю.
Хотя надеялся, что можно более легальным способом.



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
4-20366
NewN
2003-05-05 09:02
2003.07.07
Multiwindow Application on WinAPI


14-20238
Soft
2003-06-19 13:28
2003.07.07
Абсолютное знание


3-20016
mikeee
2003-06-15 17:16
2003.07.07
Как узнать DBGrid.Columns


4-20347
FallenGod
2003-05-05 18:41
2003.07.07
ф-ция setwindowhookex или о вторжении в чужу область памяти


14-20288
sapsi
2003-06-20 11:56
2003.07.07
Почему профессия программиста не считается вредной