|
|
发表于 2007-7-23 14:37:07
|
显示全部楼层
来自: 中国浙江宁波
(Defun C:phyhar (/ code code Drives lstSer StrDrive SerialNumber). n" H# c! ~1 h) [( r; `- h
(vl-load-com)" j" f6 v3 ?# ?) _, j+ @
(setq code "C"
! Z* G9 [ P4 u. w! V) S6 \(setq FSO (vlax-create-object "Scripting.FileSystemObject")
8 v; N/ J6 G% C! i% K$ xDrives (vlax-get-property FSO "Drives")
6 O9 v0 @ n& N- c)
: v. G# W# n0 I0 u(setq lstSer '())
) s: o2 U9 U2 z" a/ l- L; x;; iterator the HardDisk for the SerialNumber .+ k5 g% @& v$ m9 _+ j& E! w
;;;(repeat (vlax-get-property Drives "Count") 注释掉此行
5 f' s# U# }/ ~& f+ L0 x(setq StrDrive (strcat code ":"))
: }0 s7 Z s! S. Q: P/ J(if (and (setq Drive (vl-catch-all-apply 'vlax-get-property (list Drives "Item" StrDrive))); f3 x. K; J' P8 T! N
(not (vl-catch-all-error-p Drive))! [- O. ], T" J8 N/ a$ h$ }6 y" b
(vlax-property-available-p Drive "DriveType")6 c/ c( s% j4 j' x! b6 E) ?9 ~
(equal (vlax-get-property Drive "DriveType") 2). Y0 G7 n/ f2 U5 K
(vlax-property-available-p Drive "SerialNumber")# @0 g9 l, v/ _4 T3 J8 W: o
(setq SerialNumber (vlax-get-property Drive "SerialNumber"))
$ x) q/ `) t7 F4 l$ e)# r4 K" y. F4 w5 }, t! j
(setq SerialNumber (rtos SerialNumber 2 0)
9 Q- x6 Q: T( Y$ S4 BlstSer (cons (list StrDrive SerialNumber) lstSer)
/ s/ ]1 D& c7 d9 ^+ |)( Q: e, U. |' C1 m, W0 \
) Q/ E) t Z: {# Q# d4 U$ D
;;;(setq code (chr (1+ (ascii code)))) 注释掉此行
3 w8 X; P5 e, L* T u9 U5 \;;;) 注释掉此行
% B1 F' V Y) D: E1 h;; relese object .# t+ |3 {4 C$ i: [ z6 a
(vl-catch-all-apply 'vlax-release-object (list FSO))9 t1 }* Q. p+ x# a7 h4 }
(vl-catch-all-apply 'vlax-release-object (list Drives))1 K( t! D' x; ~" [9 v* P
;; return the value .; m, p& w9 Y4 P+ C0 |: J9 f
(princ(reverse lstSer))3 }2 c$ Q& S! E0 P m1 K8 ]
)% q: Q2 i9 z/ H a4 L4 v3 E
x7 E* h) G- r+ K
' x! x# q3 e4 J! q) T你把循环部分注释掉,不就只得到C盘的SN了吗?; R5 _7 M; o7 ?5 e4 }4 S2 B3 J, R0 G
# d2 S7 r5 T' q7 s% |
[ 本帖最后由 sealive_leafage 于 2007-7-23 14:39 编辑 ] |
|