找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2443|回复: 5

[LISP函数]:获取CPU的ProcessorId

[复制链接]
发表于 2007-5-23 18:33:45 | 显示全部楼层 |阅读模式

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

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

×
[PHP]
(defun ProcessorID (/ ID USERS4)
  (vl-load-com)
  (setq users4 (getvar "users4"))
  (vla-eval (vlax-get-acad-object)
            (strcat
                 "set colInstances = GetObject(\"Winmgmts:\").ExecQuery(\"Select * from Win32_Processor\")" ":"
                 "id = \"\"" ":"
                 "For each objInstance in colInstances" ":"
                 "id = id & objInstance.ProcessorId" ":"
                 "next" ":"
                 "ThisDrawing.SetVariable \"USERS4\", id"
                 )
           )
  (setq ID (getvar "users4"))
  (setvar "users4" users4)
  id
)
[/PHP]
较EACHY的兼容性好一些.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-5-27 19:09:08 | 显示全部楼层
好东西,先学习一下!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2007-5-30 08:59:14 | 显示全部楼层
[PHP]
;;;修改自EACHY版主的程序.
;;;XP以下操作系统须下载安装WMI补丁.
(defun XDL-ProcessorID (/ ids wmiobj serv lox sn)
  (if (setq wmiobj (vlax-create-object "wbemScripting.SwbemLocator"))
    (progn
      (or
        (not(vl-catch-all-error-p(setq serv(vl-catch-all-apply 'vlax-invoke (list wmiobj 'ConnectServer "." "" "" "" "" "" 128 nil)))));;FOR XP系统.
        (setq serv(vlax-invoke wmiobj 'ConnectServer "." "" "" "" "" "")) ;;;XP以下操作系统.
        )
      (setq lox        (vlax-invoke
                  serv
                  'ExecQuery
                  "Select * from Win32_Processor"
                )
      )
      (setq ids nil)
      (vlax-for        item lox
        (if (not
              (member (setq sn (vlax-get item 'ProcessorID )) ids)
            )
          (setq ids (cons sn ids))
        )
      )
      (mapcar 'vlax-release-object (list lox serv wmiobj))
    )
  )
  (reverse ids)
)
[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2007-5-30 20:22:43 | 显示全部楼层
最初由 小菜 发布
[B]楼主能不能把硬盘ID的也改成VBA的写法? [/B]


[PHP]
"Select * from Win32_Processor"  改成 "Select * from Win32_DiskDrive"  
[/PHP]   
[PHP]   
(vlax-get item 'ProcessorID ) 改成(vlax-get item 'SerialNumber )
[/PHP]
就可以了。
98下测试Win32_DiskDrive无Serialnumber属性,WIN2000还未测试,估计对XP以下的操作系统无效。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 22:56 , Processed in 0.318366 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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