Тема: Версии Акада

Народ, помогите пожалуйста - кто знает как в VB6 определить, какие версии Акада установлены на компе?

Re: Версии Акада

Public Function AutoCAD_Version()
    sysVarName = ""
    sysVarName = "ACADVER"
    AutoCAD_Version = ThisDrawing.GetVariable(sysVarName)
    AutoCAD_Version = Val(Mid(AutoCAD_Version, 1, 2))
End Function

Re: Версии Акада

> Durimar
По логике для каждой версии ACAD -а будет создан новый ключ по пути

HLM\SOFTWARE\Autodesk\AutoCAD

Просто прочтите их

Re: Версии Акада

> SmeL
Это так. Но дальше нужно еще определить путь  установки Акада. Он в разделе с названием типа ...\ACAD-1:409\Location. Вот здесь проблема - эти цифры могут отличаться для одной версии. Может ты знаешь, что они обозначают и как их определить заранее, чтобы считать потом значение раздела Location?

Re: Версии Акада

> Олег
Если нужны все пути ко всем акадам, можно решить это при помощи API, которые начинаются на Find*. Либо посмотреть реестр, что намного быстрее и не так брутально на мой взгляд как поиск. Для этого вам понадобится

Private Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" ( _
                ByVal hKey As Long, _
                ByVal dwIndex As Long, _
                ByVal lpName As String, _
                lpcbName As Long, _
                ByVal lpReserved As Long, _
                ByVal lpClass As String, _
                lpcbClass As Long, _
                lpftLastWriteTime As Any) As Long

А как работать с реестром можно найти на этом форуме наверное даже и я отвечал. Приведенная мной апи перечесляет все подключи ключа в реестре.
вот где хранится путь к акаду

HLM\SOFTWARE\Autodesk\AutoCAD\[b]R15.0\ACAD-2:409[/b]

переменная AcadLocation
Все что выделенно BOLD у Вас может отличаться, также можно глянуть вот сюда
https://www.caduser.ru/forum/topic25366.html

Re: Версии Акада

Спасибо, все получилось!