Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как можно определить путь к файлу ActiveX контрола / 22 сообщений из 22, страница 1 из 1
16.09.2009, 07:20
    #36198061
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
Приветствую всех.
Как можно определить путь к файлу ActiveX контролу?
Который используются в программе
Спасибо всем
...
Рейтинг: 0 / 0
16.09.2009, 10:07
    #36198293
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
> Автор: orunbek
> Приветствую всех.
> Как можно определить путь к файлу ActiveX контролу?

Если есть права то через реестр, иначе никак


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.09.2009, 10:48
    #36198434
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
хмм.... лучше тада должен же быть способ
кстати здесь есть пример получения списка зарегистрированных ActiveX контролов
может быть есть подобный способ и получения более подробной информации по контролу, может быть через WMI
...
Рейтинг: 0 / 0
16.09.2009, 12:54
    #36198885
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
Может быть. Посмотри в MDSN описание классов Win32_ClassicCOMClass, Win32_ClassicCOMClassSetting, Win32_ComponentCategory, Win32_ProgIDSpecification.


Jah loves you.
...
Рейтинг: 0 / 0
16.09.2009, 13:14
    #36198962
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
Спасибо за новодку попробую "порыться" ;)
...
Рейтинг: 0 / 0
16.09.2009, 13:18
    #36198974
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
Ну или так:
Код: plaintext
1.
2.
3.
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
oReg.GetExpandedStringValue HKEY_CLASSES_ROOT,"MSComctlLib.Toolbar\CLSID", "", strValue
oReg.GetExpandedStringValue HKEY_CLASSES_ROOT,"CLSID\" & strValue & "\InProcServer32", "", strValue


Jah loves you.
...
Рейтинг: 0 / 0
16.09.2009, 19:37
    #36200044
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
Нашел пример получения списка COM-объектов через WMI
К примеру получение списка установленных COM-объектов с названием ActiveLock:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_COMClass where Caption LIKE '%ActiveLock3%'",, 48 )
For Each objItem in colItems
    Wscript.Echo "Caption: " & objItem.Caption
    Wscript.Echo "Description: " & objItem.Description
    Wscript.Echo "InstallDate: " & objItem.InstallDate
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "Status: " & objItem.Status
Next
Есть ли способ определения более подробной информации, версии и в том числе файлов COM-объекта
...
Рейтинг: 0 / 0
17.09.2009, 11:36
    #36200812
SoftParanoik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
Попробуй класс Win32_ClassicCOMClassSetting (свойства InprocServer32 и Version)
...
Рейтинг: 0 / 0
17.09.2009, 12:01
    #36200893
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
Спасибо за наводку, нашел решение, вот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
I have found solution, VBScript code:
Option Explicit
Dim objWMIService, objCOMClassItems, objCOMClassItem
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set objCOMClassItems = objWMIService.ExecQuery("Select * from Win32_ClassicCOMClassSetting where Caption LIKE '%ActiveLock%'",, 48 )
For Each objCOMClassItem In objCOMClassItems
    WScript.Echo "Caption: " & objCOMClassItem.Caption
    WScript.Echo "ComponentId: " & objCOMClassItem.ComponentId
    WScript.Echo "Description: " & objCOMClassItem.Description
    WScript.Echo "InprocServer (file): " & objCOMClassItem.InprocServer32
Next
Set objCOMClassItem = Nothing
Set objCOMClassItems = Nothing
Set objWMIService = Nothing

Несколько полезных ссылок:
List installed COM objects and associated ProgIDs
http://www.scriptinternals.com/new/us/support/Internal/WMI_Win32_ClassicCOMClassSetting.htm

Если у кого есть решение получше, предлагайте, буду ждать
Всем спасибо
...
Рейтинг: 0 / 0
17.09.2009, 12:05
    #36200904
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
У меня получше — всего в 3 строчки и никаких задержек на энумерацию половины реестра ради Select * from.

Jah loves you.
...
Рейтинг: 0 / 0
17.09.2009, 12:09
    #36200919
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
AntonariyУ меня получше — всего в 3 строчки и никаких задержек на энумерацию половины реестра ради Select * from.

Jah loves you.
Можете свой пример на получение инфы по ActiveX элементам переделать
где в наименовании встерчается ActiveLock?
Спасибо
...
Рейтинг: 0 / 0
17.09.2009, 12:22
    #36200969
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
Если вам нужно получить все зарегистрированные билды (без клещей ведь слова не вытянешь), то селект удобнее. Если версия всего одна, "Который используются в программе" (с), то все ее классы будут иметь один InprocServer32, и вместо MSComctlLib.Toolbar в мой пример можно вставить любой ProgID из библиотеки.

Jah loves you.
...
Рейтинг: 0 / 0
17.09.2009, 12:54
    #36201070
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
Примерно так?
Код: plaintext
1.
2.
3.
4.
5.
Dim strValue
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
oReg.GetExpandedStringValue HKEY_CLASSES_ROOT,"ActiveLock3.Globals\CLSID", "", strValue
oReg.GetExpandedStringValue HKEY_CLASSES_ROOT,"CLSID\{4910BEE2-6F80-406B-B80F-3715B327C5F1}\InProcServer32", "", strValue
WScript.Echo strValue
...
Рейтинг: 0 / 0
17.09.2009, 12:57
    #36201081
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
Да.

Jah loves you.
...
Рейтинг: 0 / 0
17.09.2009, 12:58
    #36201084
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
orunbekПримерно так?
Код: plaintext
1.
2.
3.
4.
5.
Dim strValue
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
oReg.GetExpandedStringValue HKEY_CLASSES_ROOT,"ActiveLock3.Globals\CLSID", "", strValue
oReg.GetExpandedStringValue HKEY_CLASSES_ROOT,"CLSID\{4910BEE2-6F80-406B-B80F-3715B327C5F1}\InProcServer32", "", strValue
WScript.Echo strValue



Код: plaintext
oReg.GetExpandedStringValue HKEY_CLASSES_ROOT,"CLSID\" & strValue & "\InProcServer32", "", strValue
...
Рейтинг: 0 / 0
17.09.2009, 13:00
    #36201096
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
То есть нет, почему в "CLSID\{4910BEE2-6F80-406B-B80F-3715B327C5F1}\" айдишник вписан руками? Он узнается в предыдущей строке.

Jah loves you.
...
Рейтинг: 0 / 0
17.09.2009, 14:30
    #36201508
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
CLSID'шник я вытащил через этот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Option Explicit
Dim objWMIService, objCOMClassItems, objCOMClassItem
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set objCOMClassItems = objWMIService.ExecQuery("Select * from Win32_ClassicCOMClassSetting where Caption LIKE '%ActiveLock%'",, 48 )
For Each objCOMClassItem In objCOMClassItems
    WScript.Echo "Caption: " & objCOMClassItem.Caption
    WScript.Echo "ComponentId: " & objCOMClassItem.ComponentId
    WScript.Echo "Description: " & objCOMClassItem.Description
    WScript.Echo "InprocServer (file): " & objCOMClassItem.InprocServer32
Next
Set objCOMClassItem = Nothing
Set objCOMClassItems = Nothing
Set objWMIService = Nothing
Затем вручную вставил в код написанный вами, но в strValue ничего нет - Null
...
Рейтинг: 0 / 0
17.09.2009, 15:33
    #36201781
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
HKEY_CLASSES_ROOT = &H80000000

Jah loves you.
...
Рейтинг: 0 / 0
18.09.2009, 15:43
    #36204516
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
AntonariyHKEY_CLASSES_ROOT = &H80000000

Jah loves you.
Пашет, спасибо и за это
...
Рейтинг: 0 / 0
18.09.2009, 15:44
    #36204519
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
AntonariyТо есть нет, почему в "CLSID\{4910BEE2-6F80-406B-B80F-3715B327C5F1}\" айдишник вписан руками? Он узнается в предыдущей строке.

Jah loves you.
Насчет значения CLSID, он на разных компах может отличаться?
...
Рейтинг: 0 / 0
18.09.2009, 17:34
    #36204941
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
> Автор: orunbek
> Насчет значения CLSID, он на разных компах может отличаться?

Нет, он может отличатся на разных версиях СОМ-объектов


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
18.09.2009, 17:38
    #36204960
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно определить путь к файлу ActiveX контрола
Он будет изменяться при каждой компиляции при Project или No Compatibility и не будет при Binary.

Jah loves you.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как можно определить путь к файлу ActiveX контрола / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]