![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать путь к com серверу?
kull © (2003-04-23 16:41:00)Создал я объект функцией CreateComObject.
Как узнать путь к этому com серверу?
kull (2003-04-23 17:36:00) [1]Спасибо! Пожалуй так и сделаю.
Хотя надеялся, что можно более легальным способом.
Goffman (2003-04-23 17:29:00) [2]Каждый COM объект обязан иметь GUID.
С помощью него винда определяет где искать сей COM object.
Для Word.Application CLSID={000209FF-0000-0000-C000-000000000046}
GUID"ы хранятся в реестре в ключе HKCR\CLSID\
В ключе любого GUID есть вложенный LocalServer32.
Его значение и определяет путь оле-сервера
Serginio (2003-04-23 17:24:00) [3]Приблизительно так
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(""); // путь к файлу
Bel (2003-04-23 17:05:00) [4]Можно по реестру. Показываю на примере моей машины:
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"
kull (2003-04-23 17:00:00) [5]ХОРОШО тогда вопрос такой: как узнать путь "X:\Program Files\Microsoft Office\Office\Startup".
Ведь я могу поставить word и на диск C и на диск D или еще куда...
Мне нге нужен сам winword.exe, мне нужен путь к нему...
REA (2003-04-23 16:55:00) [6]В принципе регистрационная информация есть в реестре, но для использования Winword нет необходимости знать где он расположен.
kull (2003-04-23 16:48:00) [7]Хорошо тогда вопрос такой как узнать путь, куда установлен winword.exe ?
REA (2003-04-23 16:43:00) [8]А это видимо вредно для здоровья. OS должна сама сервер находить вне зависиости от того где он расположен (на этой машине, на соседней, на нескольких).