HQ_2003 发表于 2003-10-15 13:32:00

[求助]用lisp方法怎样读取硬盘序列号

用lisp方法怎样读取硬盘序列号

龙龙仔 发表于 2003-10-15 16:58:00

用doslib

dos_serialno
--------------------------------------------------------------------------------
Returns the serial number of a specified disk.
Syntax
(dos_serialno )
Parameters
drive
The drive name (for example, C:, D:). If not specified, the current drive is used.
Returns
A string identifying the serial number if successful.
nil on error.
Examples
Command: (dos_serialno)

"4216120B"

Command: (dos_serialno "d:")

"FCF9CE6C"


;;與(dos_serialno )的值不同
;; By LUCAS(龍龍仔)
;; FIND_SERIALNUMBER
;; Returns of Drive SerialNumber
;; Arguments :
;; Drive = "C:"
;; Notes: Requires ScrRun.dll.
;; USAGE: (FIND_SERIALNUMBER "C:")

(defun FIND_SERIALNUMBER (DRIVE / FILSYS VAL)
(setq FILSYS (vlax-create-object "Scripting.FileSystemObject"))
;;(vlax-dump-object FILSYS t)
(setq VAL (vlax-invoke FILSYS "GetDrive" DRIVE))
;;(vlax-dump-object VAL t)
(setq        VAL (vl-catch-all-apply
              'vlax-get
              (list VAL "SerialNumber")
          )
)
(vlax-release-object FILSYS)
(if (vl-catch-all-error-p VAL)
    (setq VAL NIL)
    VAL
)
)

baitang36 发表于 2020-2-7 11:48:42

yxp 发表于 2005-7-31 22:54
每个人都希望对自己的劳动成果加密,
每个人都希望别人的劳动成果不加密。
所以最好把磁盘序列号的代码弄出 ...

精辟,希望所有的女人都不穿衣服,自己的老婆除外。

zzl9105 发表于 2019-4-25 15:50:26

请问下:
为何我输入:(dos_serialno "d:")
cad运行后,没有返回任何字符串呢

gyl 发表于 2003-10-15 22:50:00

晓东工具箱好像有这个功能,下一个试试吧。

cchin 发表于 2003-11-6 21:14:00

doslib如何调用

yxp 发表于 2004-3-8 16:39:00

完全安装后CAD目录下就有,用(ARXLOAD       "doslib2004.arx") 加载就行了。

onej 发表于 2005-4-23 17:06:00

<A name=46900><FONT color=#000066><B>龙龙仔</B></FONT></A>,为何得到的结果不同呢??它与真正的序号有什么联系?能详细解释一下吗?


(vl-load-com)<BR>(FIND_SERIALNUMBER "C:")


-1878235006 <BR>_$


(dos_serialno "C:")


"900C6882" <BR>_$

yxp 发表于 2005-7-30 17:26:00

估计计算方法不一样吧,肯定有个是错的。

无痕 发表于 2005-7-30 18:06:00

<P>nonono</P>
<P>格式不同而已,前面的是10进,后面的是16进</P>

sieben 发表于 2005-7-30 18:23:00

我听说一个硬盘只有一个序列号,如上面所说,这不一个硬盘分成几个区就有几个序列号啦?各位老大!请指点迷津!谢谢!

yxp 发表于 2005-7-31 22:54:00

<P>每个人都希望对自己的劳动成果加密,</P>
<P>每个人都希望别人的劳动成果不加密。</P>
<P>所以最好把磁盘序列号的代码弄出来,然后大家针对这个密钥进行加密。</P>
<P>然后把一个破解此类加密的软件放出来,比如采用虚拟机技术,或更改磁盘序列号,让大家都能解密。</P>
<P>&nbsp;</P>
<P>唉,世上本无事,庸人自扰之。</P>
页: [1] 2 3
查看完整版本: [求助]用lisp方法怎样读取硬盘序列号