本帖最后由 highflybir 于 2012-10-19 10:30 编辑
朽木大师 发表于 2012-10-19 10:02 
如何在LSP中实现,楼上的太高深,没看明白,不好意思
例如:_$ (VL-PRINC-TO-STRING +)
"#<SUBR @0000000030940b68 +>"
中间的数值部分,是这个函数的指针,所以如果是32位的,只是8位十六进制数值,64位的,则为16位数值,因此可以根据这个数值来得到CAD的是64位还是32位的。
但是操作系统的位数跟CAD的位数并不一定相同。
如果要得到操作系统位数,可以如下办法:

- (vl-load-com)
- (defun C:SYS (/ WMI SVR SYS)
- (setq WMI (vlax-create-object "WbemScripting.SWbemLocator"))
- (setq SVR (vlax-invoke WMI 'ConnectServer))
- (setq SYS (vlax-invoke SVR 'ExecQuery "Select * from Win32_ComputerSystem" nil 48))
- (vlax-for item SYS
- (princ (vlax-get item 'SystemType))
- )
- (vlax-release-object SYS)
- (vlax-release-object SVR)
- (vlax-release-object WMI)
- (princ)
- )
|