sdunn 发表于 2016-1-20 18:43:57

获取autocad垂直信息

我正在寻找一种在.net中自动获取Civil 3D 2013及更高版本的Service Pack版本。
我找到了可以获取应用程序版本的位置,但找不到 Service Pack 信息。 我是否仅限于搜索注册表?
**** Hidden Message *****

sdunn 发表于 2016-1-25 19:29:45

感谢杰夫:
http://forums.autodesk.com/t5/autocad-civil-3d-customization/find-the-current-service-pack-version-of-civil-3d/td-p/6000264
我在lisp中想出了一些适用于2015年的东西。
(defun c:getinfo ()
(vl-load-com)
(cond ((setq wscript (vlax-create-object "WScript.Network"))
       (setq pcname (vlax-get-property wscript "ComputerName")
             pcdom(vlax-get-property wscript "UserDomain")
             pcuser (vlax-get-property wscript "UserName")
       )
       (vlax-release-object wscript)
      )
); cond

; get civil 3d service pack info from registry
(setq reg (strcat "HKEY_LOCAL_MACHINE\\" (vlax-machine-product-key)))
(setq reg (strcat (substr reg 1) "\\Service Packs"))
(setq reg (strcat reg "\\" (car (vl-registry-descendents reg))))
(setq PatchTitle (vl-registry-read reg "PatchTitle"))
(setq Release (vl-registry-read reg "Release"))
; Get ram using doslib
(setq maj (itoa (atoi (getvar "acadver"))))
(setq dls (strcat "doslib" maj ".arx"))
(setq res (dos_mem))
(setq mem (rtos (nth 1 res) 2 0))
(setq memgb (/ (read mem) 1048576))

(mapcar 'princ
      (list "\nComputername: "pcname
                "\nUser domain:"pcdom
                "\nUser name:    "pcuser
                "\nService Pack: " PatchTitle
                "\nRelease: " Release
                "\nTotal Physical Memory: " memgb
    )
)
(princ)
)

huiz 发表于 2016-1-26 03:33:09

Gile编写了一个出色的函数来查找有关已安装版本的信息:
http://www.theswamp.org/index.php?topic=31867.msg538136#msg538136
也许这会对您有所帮助。
页: [1]
查看完整版本: 获取autocad垂直信息