只需一步,快速开始
网上有一个可以读取电脑硬盘物理序列号的函数,可当电脑同时有2个硬盘时,或当电脑插上一个移动硬盘时,就读不出来了,请问该如何修改,望高手指教。
;;在XP下测试通过(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-getitem'SerialNumber ))serx )) ) (vlax-release-object lox) (vlax-release-object lccon) (vlax-release-object objW) ) ) (princ (reverse serx)) (princ))
使用道具 举报
Please try following example:
(Defun C:TT1 (/ code code Drives lstSer StrDrive SerialNumber) (vl-load-com) (setq code "C") (setq FSO (vlax-create-object "Scripting.FileSystemObject") Drives (vlax-get-property FSO "Drives") ) (setq lstSer '()) ;; iterator the HardDisk for the SerialNumber . (repeat (vlax-get-property Drives "Count") (setq StrDrive (strcat code ":")) (if (and (setq Drive (vl-catch-all-apply 'vlax-get-property (list Drives "Item" StrDrive))) (not (vl-catch-all-error-p Drive)) (vlax-property-available-p Drive "DriveType") (equal (vlax-get-property Drive "DriveType") 2) (vlax-property-available-p Drive "SerialNumber") (setq SerialNumber (vlax-get-property Drive "SerialNumber")) ) (setq SerialNumber (rtos SerialNumber 2 0) lstSer (cons (list StrDrive SerialNumber) lstSer) ) ) (setq code (chr (1+ (ascii code)))) ) ;; relese object . (vl-catch-all-apply 'vlax-release-object (list FSO)) (vl-catch-all-apply 'vlax-release-object (list Drives)) ;; return the value . (princ(reverse lstSer)))
这个其实也是还算相对简单的。连 Help 文档中都有,找到过了没有?
还有DBX,ADO,DAO,ODBC等东西都可以用LISP做呢...
一步一步的来,明年这个时候我就相信你能做这个东西,或者还要更早。
看得出你也是技术上的一个狂热分子!
我试验出来了,但是DELL有批机子是读不出的,不知道是不是硬盘本身原因。
请楼主发上来让我们学习一下??
谢谢
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2025-6-21 04:16 , Processed in 0.184923 second(s), 26 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.