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

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



Память: 0.46 MB
Время: 0.01 c
1-20118
edicon
2003-06-24 17:29
2003.07.07
DatetimePicker


3-20005
Yus
2003-06-14 19:27
2003.07.07
Проблемма компиляции (кто сталкивался??)


1-20107
andrey__
2003-06-24 14:08
2003.07.07
Подскажите как сделать Приложение - службу.


1-20044
Semin Aleksei
2003-06-23 12:11
2003.07.07
С++ и Delphi по разному вызывают виртуальный метод в конструкторе


1-20104
Belkova
2003-06-24 13:47
2003.07.07
Projet Project1.exe raised class EOleSysError




   Наверх