zzyong00 发表于 2018-1-11 21:01:09

判断当前用户已安装的Autocad版本

Dim ret1 As Boolean, strSubKn() As String, strVn() As String, VT() As ValueType
Dim i As Long, j As Long
ret1 = GetKeyInfo(HKEY_CURRENT_USER, "Software\Autodesk\AutoCAD", strSubKn(), strVn(), VT())
If ret1 Then
    Debug.Print "已安装的Autocad版本:"
    For i = 0 To UBound(strSubKn)
      Select Case strSubKn(i)
            Case "R15.0": Debug.Print "Autocad2000"
            Case "R15.1": Debug.Print "Autocad2002"
            Case "R16.0": Debug.Print "Autocad2004"
            Case "R16.1": Debug.Print "Autocad2005"
            Case "R16.2": Debug.Print "Autocad2006"
            Case "R17.0": Debug.Print "Autocad2007"
            Case "R17.1": Debug.Print "Autocad2008"
            Case "R17.2": Debug.Print "Autocad2009"
            Case "R18.0": Debug.Print "Autocad2010"
            Case "R18.1": Debug.Print "Autocad2011"
            Case "R18.2": Debug.Print "Autocad2012"
            Case "R19.0": Debug.Print "Autocad2013"
            Case "R19.1": Debug.Print "Autocad2014"
            Case "R20.0": Debug.Print "Autocad2015"
            Case "R20.1": Debug.Print "Autocad2016"
            Case "R21.0": Debug.Print "Autocad2017"
            Case "R22.0": Debug.Print "Autocad2018"
            Case Else: Debug.Print "未知"
      End Select
    Next i
End If
mod:
以上为判断当前用户已安装的Autocad版本的vb6代码,对于32位autocad,vba也可以,但64位autocad,哪个mod不能直接用!
对于低版本的autocad,R??.?不知道是否和autocad版本对应,请安装的相应版本的autocad的同学测试斧正!



dong20030432 发表于 2018-1-15 10:34:09

听说ACADVER系统变量可以获得CAD版本号,你用这吗?

dong20030432 发表于 2018-1-15 10:42:07

代码测试结果:
我以前安装过2004,现在安装了2006和2018(绿色版),全部测试出来了。

言戲無軍 发表于 2018-8-22 00:58:37

本帖最后由 言戲無軍 于 2018-8-22 01:09 编辑

非常感谢楼主,通过这个代码,终于可以实现64,32位系统自动加载程序了。写完程序就可以把这个只支持32位系统的程序扔掉了

664571221 发表于 2021-12-14 15:00:58

言戲無軍 发表于 2018-8-22 00:58
非常感谢楼主,通过这个代码,终于可以实现64,32位系统自动加载程序了。写完程序就可以把这个只支持32位系 ...

你好大神你搞了什么程序呢

fjfhgdwfn 发表于 2021-12-26 12:44:36

今天下附件,附件都打不开,报文件损坏。

sunny_8848 发表于 2021-12-26 15:26:57

论坛有修复附件的小程序的
页: [1]
查看完整版本: 判断当前用户已安装的Autocad版本