找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1881|回复: 16

[求助] [求助]:如何用VLisp获取硬盘序列号

[复制链接]
发表于 2005-5-15 11:09:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
请教:如何用VLisp获取硬盘序列号?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-5-16 09:04:14 | 显示全部楼层
REFER to:
[php]
(defun GetDriveInfos (Drv / DrvObj FilSys RetVal)
(setq FilSys (vlax-create-object "Scripting.FileSystemObject")
       RetVal (cond
               ((= (vlax-invoke FilSys 'DriveExists Drv) 0) 0)
               ((setq DrvObj (vlax-invoke FilSys 'GetDrive Drv))
                (cond
                 ((= (vlax-get DrvObj 'IsReady) 0) -1)
                 ((list
                   (/ (vlax-get DrvObj 'TotalSize) 1000.0)
                   (/ (vlax-get DrvObj 'FreeSpace) 1000.0)
                   (vlax-get DrvObj 'DriveType)
                   (vlax-get DrvObj 'FileSystem)
                   (vlax-get DrvObj 'SerialNumber)
                   (vlax-get DrvObj 'ShareName)
                   (vlax-get DrvObj 'VolumeName)
                  )
                 )
                )
               )
              )
)
(if DrvObj (vlax-release-object DrvObj))
(vlax-release-object FilSys)
RetVal
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-16 21:46:16 | 显示全部楼层
非常感谢帮助的朋友!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-17 13:31:09 | 显示全部楼层
怎么用啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-17 18:11:03 | 显示全部楼层
_$ (GetDriveInfos)
; 错误: 参数太少
_$ (GetDriveInfos c)
; 错误: 参数不可选。
_$ (GetDriveInfos c:)
; 错误: 参数不可选。
_$ (GetDriveInfos 0)
0
_$ (GetDriveInfos 1)
0
_$ (GetDriveInfos 3)
0
_$ (GetDriveInfos 2)
0

到底是如何使用呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-17 20:36:53 | 显示全部楼层
得到“软”的序列号

  1. (Defun vldos-driveinfo (Drv Key / pos rtn)
  2.   (if (/= (type key) 'STR)
  3.     (setq rtn (vldos-alldriveinfo drv))
  4.     (if        (setq pos (vl-position
  5.                     (setq key (strcase key))
  6.                     (list "TOTALSIZE"            "FREESPACE"
  7.                           "DRIVETYPE"            "FILESYSTEM"
  8.                           "SERIALNUMBER"    "SHARENAME"
  9.                           "VOLUMENAME"
  10.                          )
  11.                   )
  12.         )
  13.       (setq rtn (nth pos (vldos-alldriveinfo drv)))
  14.     )
  15.   )
  16.   rtn
  17. )
  18. (Defun vldos-alldriveinfo (Drv / DrvObj FilSys RetVal)
  19.   (if (setq
  20.         FilSys (vlax-get-or-create-object "Scripting.FileSystemObject")
  21.       )
  22.     (progn
  23.       (setq RetVal
  24.              (cond
  25.                ((= (vlax-invoke FilSys "DriveExists" Drv) 0) 0)
  26.                ((setq DrvObj (vlax-invoke FilSys "GetDrive" Drv))
  27.                 (cond
  28.                   ((= (vlax-get DrvObj "IsReady") 0) -1)
  29.                   ((list
  30.                      (vlax-variant-value
  31.                        (vlax-get-property DrvObj "TotalSize")
  32.                      )
  33.                      (vlax-variant-value
  34.                        (vlax-get-property DrvObj "FreeSpace")
  35.                      )
  36.                      (vlax-get-property DrvObj "DriveType")
  37.                      (vlax-get-property DrvObj "FileSystem")
  38.                      (vlax-get-property DrvObj "SerialNumber")
  39.                      (vlax-get-property DrvObj "ShareName")
  40.                      (vlax-get-property DrvObj "VolumeName")
  41.                    )
  42.                   )
  43.                 )
  44.                )
  45.              )
  46.       )
  47.       (if (equal (type DrvObj) 'vla-object)
  48.         (vlax-release-object DrvObj)
  49.       )
  50.       (vlax-release-object FilSys)
  51.     )
  52.   )
  53.   RetVal
  54. )

得到“硬”的序列号

  1. (defun vldos-phyhar        (/ ret serx lccon item lox objw)
  2.   (vl-load-com)
  3.   (setq serx '())
  4.   (if (SETQ OBJW (VLAX-CREATE-OBJECT "wbemScripting.SwbemLocator"))
  5.     (progn
  6.       (SETQ lccon (VLAX-INVOKE
  7.                     OBJW       'ConnectServer             "."
  8.                     "\\root\\cimv2"          ""             ""
  9.                     ""               ""          128             nil
  10.                    )
  11.       )
  12.       (setq lox        (vlax-invoke
  13.                   lccon
  14.                   'ExecQuery
  15.                   "Select SerialNumber,Tag from Win32_PhysicalMedia"
  16.                 )
  17.       )
  18.       (vlax-for        item lox
  19.         (setq serx (cons (list (vlax-get item 'Tag)
  20.                                (vlax-get item 'SerialNumber)
  21.                          )
  22.                          serx
  23.                    )
  24.         )
  25.       )
  26.       (vlax-release-object lox)
  27.       (vlax-release-object lccon)
  28.       (vlax-release-object objW)
  29.     )
  30.   )
  31.   (reverse serx)
  32. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-19 10:22:52 | 显示全部楼层
直接用DOSLIB不行吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-19 11:49:24 | 显示全部楼层
没用过DOSLIB
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-19 14:05:58 | 显示全部楼层
這樣用
(GetDriveInfos "C:")

如果用DOSLIB,那還要加載DOSLIB,,程序就不是單一個了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-20 08:03:43 | 显示全部楼层
那也就只需两行,doslib的出现不就是为了简化编程吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-20 08:28:59 | 显示全部楼层
六楼楼主,请问你的程序怎么用呀?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-20 09:44:04 | 显示全部楼层
使用硬盘序列号是想加密,但此方法有一个缺点:一旦对方重装系统,侧硬盘序列号就可能变化,就需要重生成安装号。有其他更好的方法吗?比如计算机用户名或CPU的ID。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-21 00:21:31 | 显示全部楼层
(if(/= "登陆账号名" (getvar "LOGINNAME"))(exit))
(if(/= "机算机名称" (getenv "ComputerName"))(exit))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-6-3 15:38:30 | 显示全部楼层
请问怎样取得CPU的ID呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-6-3 16:15:50 | 显示全部楼层
6楼的硬序列号程序不能执行,错误:
错误: SWbemLocator: 无效参数
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 06:51 , Processed in 0.621490 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表