找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1916|回复: 2

[讨论]:如何用lisp获取AutoCAD在注册表中的键名

[复制链接]
发表于 2002-10-9 01:27:27 | 显示全部楼层 |阅读模式

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

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

×
按照资料介绍,AutoCAD很多数据储存在注册表中
类似:HKEY_LOCAL_MACHINE\Software\Autodesk\AutoCAD\R14.0\ACAD-nnnnnnn:nnnnnnnn
这样的键名下,问题是,如何获得当前系统中这个
不确定的nnnnnnn:nnnnnnnn?
ARX中好像有个acrxProductKey,在lisp应该如何作呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2002-10-9 01:40:07 | 显示全部楼层

Re: [讨论]:如何用lisp获取AutoCAD在注册表中的键名

最初由 Qlin 发布
[B]按照资料介绍,AutoCAD很多数据储存在注册表中
类似:HKEY_LOCAL_MACHINE\Software\Autodesk\AutoCAD\R14.0\ACAD-nnnnnnn:nnnnnnnn
这样的键名下,问题是,如何获得当前系统中这个
不确定的nnnnnnn:nnnnnnnn?
A... [/B]

工具箱中几个命令都用了注册表的读取、写入函数,你可好好看看XDSoft.mnl
以下是联机帮助中的说明:


  1. [color=red](vl-registry-write [/color]

  2. 在 Windows 注册表中创建主键
  3. (vl-registry-write reg-key [val-name val-data])

  4. 参数

  5. reg-key

  6. 字符串,指定 Windows 注册表主键。
  7. 注意 不能将 vl-registry-write 用于 HKEY_USERS 或 KEY_LOCAL_MACHINE。

  8. val-name

  9. 字符串,包含注册表条目的值。

  10. val-data

  11. 字符串,包含注册表数据。

  12. 如果未指定 val-name 或其值为 nil,则写入该主键的缺省值。如果指定了 val-name 且未指定 val-data,则存储空字符串。

  13. 返回值

  14. 如果成功则 vl-registry-write 返回 val-data,否则返回 nil。

  15. 样例

  16. _$ (vl-registry-write "HKEY_CURRENT_USER\\Test" "" "test data")
  17. "test data"
  18. _$  (vl-registry-read "HKEY_CURRENT_USER\\Test")

  19. "test data"

  20. [color=red]vl-registry-delete[/color]

  21. 从 Winows 注册表中删除指定的主键或值
  22. (vl-registry-delete reg-key [val-name])

  23. 参数

  24. reg-key

  25. 字符串,指定 Windows 注册表主键。

  26. val-name

  27. 字符串,包含 reg-key 条目的值。

  28. 如果给出了 val-name 且其值不为 nil,则将从注册表清除指定值。如果没有 val-name 或该值为 nil,函数将删除指定主键及其所有的值。

  29. 返回值

  30. 如果成功则返回 T,否则返回 nil。

  31. 样例

  32. _$ (vl-registry-write "HKEY_CURRENT_USER\\Test" "" "test data")

  33. "test data"

  34. _$ (vl-registry-read "HKEY_CURRENT_USER\\Test")

  35. "test data"

  36. _$ (vl-registry-delete "HKEY_CURRENT_USER\\Test")

  37. T

  38. 注意 该函数不能删除包含子树的主键。要删除子树,必须使用 vl-registry-descendents 枚举并删除所有的子键。

  39. [color=red]vl-registry-descendents[/color]

  40. 返回指定注册表键的子键或值名称的列表
  41. (vl-registry-descendents reg-key [val-names])

  42. 参数

  43. reg-key

  44. 字符串,指定 Windows 主键。

  45. val-names

  46. 字符串,包含 reg-key 条目的值。

  47. 如果指定 val-names 且其值不为 nil,则将列出注册表中的指定值名。如果未指定 val-name 或其值为 nil,则函数显示 reg-key 的所有子键。

  48. 返回值

  49. 如果成功则返回字符串表,否则返回 nil。

  50. 样例

  51. $ (vl-registry-descendents "HKEY_LOCAL_MACHINE\\SOFTWARE")
  52. ("Description"  "Program Groups" "ORACLE" "ODBC" "Netscape" "Microsoft")

  53. [color=red]vlax-product-key[/color]

  54. 返回 AutoCAD 的 Window 注册表路径
  55. AutoCAD 注册表路径可以用于注册应用程序,以用于按需加载。

  56. (vlax-product-key)

  57. 返回值

  58. 包含AutoCAD 注册表路径的字符串。

  59. 样例

  60. _$ (vlax-product-key)

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

使用道具 举报

 楼主| 发表于 2002-10-9 01:51:24 | 显示全部楼层
谢谢了,以前一直用autolisp的函数,
我该好好学学VL开头的新函数了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 02:26 , Processed in 0.186011 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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