|
|
发表于 2007-7-23 14:37:07
|
显示全部楼层
来自: 中国浙江宁波
(Defun C:phyhar (/ code code Drives lstSer StrDrive SerialNumber); c# F& j/ X5 y# P7 z- a9 K. y
(vl-load-com)
4 m/ }- W2 t& e4 b6 l, v6 C(setq code "C"
. |7 |$ d, \% u2 T- G, m7 i(setq FSO (vlax-create-object "Scripting.FileSystemObject")
" x# y1 r, h) h# Z- e. r" s2 o9 \& `Drives (vlax-get-property FSO "Drives")! I8 d6 E4 e5 S- p' L2 I) u
)
, }2 N* S# e* k3 k, U; O/ U(setq lstSer '())
# `7 s) w: F# k+ z8 i4 p; };; iterator the HardDisk for the SerialNumber .4 O w! F* P+ M4 }7 o4 N
;;;(repeat (vlax-get-property Drives "Count") 注释掉此行" e% K9 b$ t7 |" b' o
(setq StrDrive (strcat code ":"))
$ g3 {5 w( t9 y4 y5 o& ^(if (and (setq Drive (vl-catch-all-apply 'vlax-get-property (list Drives "Item" StrDrive)))
) x. h8 }) w+ P( C# K! X( m(not (vl-catch-all-error-p Drive))
, C6 h G$ r2 H# O7 w(vlax-property-available-p Drive "DriveType")
D' W1 a# }! ^5 ]! Y4 I(equal (vlax-get-property Drive "DriveType") 2)
6 d) S. j( V6 t5 m(vlax-property-available-p Drive "SerialNumber")5 n8 C/ N5 \$ l; m" }$ i
(setq SerialNumber (vlax-get-property Drive "SerialNumber"))
5 u; s! _% D# a7 Z, q* W Q* x)
/ X5 z$ P0 L/ b- v8 L7 j) b6 Z$ k(setq SerialNumber (rtos SerialNumber 2 0)( D" N4 c9 f" `8 F, \) J$ u; t2 G
lstSer (cons (list StrDrive SerialNumber) lstSer): \4 y5 Y. k, B- s+ Y4 M; F# D
). i' q0 K5 x( g: S/ e5 k0 _* _
)* p' [0 e3 [* r8 P) r
;;;(setq code (chr (1+ (ascii code)))) 注释掉此行/ A* }' G4 {" I7 j4 }
;;;) 注释掉此行
+ b0 d$ |, Q) X; f- g; G2 _' U;; relese object .1 [4 _! [; X4 J, \7 Z" Z
(vl-catch-all-apply 'vlax-release-object (list FSO))
2 ~1 c1 s6 q: ~* k. D6 Q9 P(vl-catch-all-apply 'vlax-release-object (list Drives))* v% ^8 i; t: }2 I# [* x
;; return the value .5 X& N/ n: U0 V/ I* n
(princ(reverse lstSer))( ~: T6 j% r6 k2 |9 E
)
; b0 f) Q2 V+ G. h4 N9 h( t# m/ i( P5 E2 P- L6 M5 U) E
# S6 I: V& g* f% E3 [- ]! t* ~
你把循环部分注释掉,不就只得到C盘的SN了吗?3 E) t1 H4 c/ Z, _6 C& p
$ Y9 p2 n4 C6 v" A$ Y, s4 `9 a
[ 本帖最后由 sealive_leafage 于 2007-7-23 14:39 编辑 ] |
|