如何用Lisp判断当前CAD是32位的还是64位的?
如题,要对当前CAD做一个判断,确定是32位还是64位的CAD。根据32位或者64位,要加载不同的arx。请教各位大大。 (getvar 'platform) ZZXXQQ 发表于 2016-5-3 15:44 static/image/common/back.gif
试下(getvar "ACADVER")
这个是CAD的版本,里面没有包含软件是32或者64位的信息
我比对过32位和64位的CAD,返回的ACADVER系统变量值是完全一样的 很有用!不错 看highflybir大师的
;;;判断系统是否为64位(getenv"PROCESSOR_ARCHITECTURE")
(defun Is64Bit (/ WMI SVR SYS)
(setq WMI (vlax-create-object "WbemScripting.SWbemLocator"))
(setq SVR (VLAX-INVOKE WMI 'ConnectServer))
(vlax-for n (vlax-invoke SVR 'InstancesOf "Win32_ComputerSystem")
(setq SYS (vlax-get n 'SystemType))
)
(vlax-release-object SVR)
(vlax-release-object WMI)
(wcmatch sys "x64*")
) 自贡黄明儒 发表于 2016-5-3 12:45 static/image/common/back.gif
看highflybir大师的
黄兄,这个是判断windows系统是不是64位的
64位系统里也可以安装32位的CAD,我需要的是确定CAD本身是32还是64位的
不知道你有没有好办法 试下(getvar "ACADVER") shh_188 发表于 2016-5-3 14:48 static/image/common/back.gif
黄兄,这个是判断windows系统是不是64位的
64位系统里也可以安装32位的CAD,我需要的是确定CAD本身是32还 ...
系统用(getenv"PROCESSOR_ARCHITECTURE") 自贡黄明儒 发表于 2016-5-3 16:09 static/image/common/back.gif
系统用(getenv"PROCESSOR_ARCHITECTURE")
黄兄,测试了一下,不能满足要求啊
用2楼你放的那个函数,测试出来的效果,其实和 PROCESSOR_ARCHITECTURE 的结果是一样的,只能判断出windows本身系统是32还是64的
我遇到的情况是,64位的win7下,安装了32位和64位的CAD 2010,我要确定当前打开的CAD到底是32位的还是64位的 本帖最后由 自贡黄明儒 于 2016-5-3 16:28 编辑
shh_188 发表于 2016-5-3 16:20 static/image/common/back.gif
这个是CAD的版本,里面没有包含软件是32或者64位的信息
我比对过32位和64位的CAD,返回的ACADVER系统变量 ...
(strlen (vl-princ-to-string (vlax-get-acad-object)))=>39就是32位Autocad 自贡黄明儒 发表于 2016-5-3 16:25 static/image/common/back.gif
(strlen (vl-princ-to-string (vlax-get-acad-object)))=>39就是32位Autocad
居然是这么判断的,这招太诡异了
测试了一下还真是这么回事,吓了
感谢黄兄,也是开了一扇大门啊,多谢多谢 自贡黄明儒 发表于 2016-5-3 16:25 static/image/common/back.gif
(strlen (vl-princ-to-string (vlax-get-acad-object)))=>39就是32位Autocad
这个有用
页:
[1]
2