|
|
发表于 2007-7-23 20:58:15
|
显示全部楼层
来自: 中国浙江宁波
(Defun C:phyhar (/ code Drives Drive StrDrive)% V/ O3 S; ?0 Q3 K+ [
(vl-load-com)
0 X- w; V4 A( P( X$ ] (setq code "C")2 m9 ^1 {) O! k3 J2 W
(setq FSO (vlax-create-object "Scripting.FileSystemObject")" I+ K4 P* v! q2 z
Drives (vlax-get-property FSO "Drives")
' s* W6 }# C$ D; S& N2 { )
$ g0 I- B6 E m ~0 k, ~ ;; iterator the HardDisk for the SerialNumber .
9 B4 G2 t( d7 p; o+ j! v3 V: Z/ S (setq StrDrive (strcat code ":"))
( Q- y% _, W7 E k% p (if (and (setq Drive (vl-catch-all-apply7 Q% _% `" A, \/ q
'vlax-get-property
; R6 ]2 D9 n2 O o; z" h3 P (list Drives "Item" StrDrive)) e, D3 o0 f* Q/ [
)
( G; `! }6 H, Z) a4 G, h2 p ). x2 @; V9 s ]) y1 F4 s6 W
(not (vl-catch-all-error-p Drive))) j2 a- U/ R. W: _ c m6 Q" f
(vlax-property-available-p Drive "DriveType")
# Q+ |$ M6 q" i; U# Y8 _# t8 } ` (equal (vlax-get-property Drive "DriveType") 2)* ?! y% E$ u2 N3 k
(vlax-property-available-p Drive "SerialNumber")
' i( B' B- G' s (setq SerialNumber (vlax-get-property Drive "SerialNumber"))
. k& ~. w* ?# ~9 Y S9 f; L )
2 C5 W* m3 ]* S" o/ A4 W! I3 r7 R (princ (rtos SerialNumber 2 0))5 r* F% ]: L3 ^. c! P
)
7 F' P4 v$ S0 }$ }+ h ;; relese object .
8 S- l: X# w$ x* A7 n (vl-catch-all-apply 'vlax-release-object (list FSO))
3 ~: _: r% X; ^( @ (vl-catch-all-apply 'vlax-release-object (list Drives)), z) r0 L2 a7 s: H6 s
)
# R/ S9 m$ d4 A$ |8 m0 W2 q$ W' `, d/ s
建议你多看看LISP语法!
. j8 x% J2 v3 A0 U8 Q. P% Q: S! |8 y. x5 v. y
[ 本帖最后由 sealive_leafage 于 2007-7-23 20:59 编辑 ] |
|