请教lsp高手:如何获得不同系统下硬盘的序列号?
(defun phyhar (/ ret serx objw lccon lox)(vl-load-com)
;(setq serx '())
(if (SETQ OBJW (VLAX-CREATE-OBJECT "wbemScripting.SwbemLocator"))
(progn
(SETQ lccon (VLAX-INVOKE
OBJW 'ConnectServer "." "\\root\\cimv2" "" "" "" "" 128 nil)
)
(setq lox (vlax-invoke
lccon
'ExecQuery
"Select SerialNumber,Tag from Win32_PhysicalMedia"
)
)
(vlax-for item lox
(setq serx (cons (list (vlax-get item 'Tag)
(vlax-get
item
'SerialNumber
)
)
serx
)
)
)
(vlax-release-object lox)
(vlax-release-object lccon)
(vlax-release-object objW)
)
)
;(princ (reverse serx))
;(princ)
(dsp (cadr (nth 0 serx)))
)
忘记是那位大侠写的了,获取硬盘物理序号,但是有问题,就是只能获得第一个硬盘的序号,如果有第二块会怎么样呢?
还有一个问题,以上都在XP+cad2004条件下运行的,没问题,但是在win7 64位 + cad 2012 64位的情况下就不能运行了,怎么去获得?希望各位大侠指教~
这个问题,也是一直困扰。。。。。。。。。。。。。。。。
页:
[1]