didini 发表于 2011-6-20 23:01:16

请教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位的情况下就不能运行了,怎么去获得?希望各位大侠指教~

尘缘一生 发表于 2019-11-22 18:04:09

这个问题,也是一直困扰。。。。。。。。。。。。。。。。
页: [1]
查看完整版本: 请教lsp高手:如何获得不同系统下硬盘的序列号?