马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 newer 于 2025-12-16 19:01 编辑
 - (defun XD::VAR:GetRegTrustedPathKey (profile / software)
- (setq software (strcase (getvar "product") t))
- (if (not (xd::var:isgstarcad))
- (list
- (strcat "HKEY_CURRENT_USER\\"
- (vlax-product-key)
- "\\Profiles\\"
- profile
- "\\Variables"
- )
- "Trustedpaths"
- )
- )
- )
 - (defun XD::VAR:ISGStarCAD ()
- (= (strcase (getvar "product")) "GSTARCAD")
- )
示例1:基本用法用法例子:
 - ;; 获取当前配置的受信任路径注册表信息
- (setq current-profile (getvar "cprofile")) ; 获取当前配置文件名
- (setq reg-info (XD::VAR:GetRegTrustedPathKey current-profile))
- ;; 输出结果
- (if reg-info
- (progn
- (princ "\n注册表键路径: ") (princ (car reg-info))
- (princ "\n值名称: ") (princ (cadr reg-info))
- )
- (princ "\n当前为浩辰CAD,不支持此操作")
- )
示例2:读取受信任路径
 - ;; 读取当前CAD的受信任路径设置
- (defun GetTrustedPaths (/ profile reg-info paths)
- (setq profile (getvar "cprofile")) ; 获取当前配置
- (setq reg-info (XD::VAR:GetRegTrustedPathKey profile))
-
- (if reg-info
- (progn
- (setq paths (vl-registry-read (car reg-info) (cadr reg-info)))
- (princ (strcat "\n当前受信任路径: " (if paths paths "<未设置>")))
- paths ; 返回路径字符串
- )
- (progn
- (princ "\n浩辰CAD使用不同机制管理受信任路径")
- nil
- )
- )
- )
;; 使用
(setq trusted-paths (GetTrustedPaths))
示例3:设置受信任路径
 - ;; 添加路径到受信任列表
- (defun AddTrustedPath (new-path / profile reg-info current-paths new-paths)
- (setq profile (getvar "cprofile"))
- (setq reg-info (XD::VAR:GetRegTrustedPathKey profile))
-
- (if (not reg-info)
- (progn
- (princ "\n错误:不支持当前CAD版本")
- (return nil)
- )
- )
-
- ;; 获取现有路径
- (setq current-paths (vl-registry-read (car reg-info) (cadr reg-info)))
-
- ;; 构建新路径(分号分隔)
- (cond
- ((not current-paths) ; 如果还没有设置
- (setq new-paths new-path)
- )
- ((not (wcmatch (strcase current-paths) (strcat "*" (strcase new-path) "*")))
- ;; 如果新路径不在现有路径中
- (setq new-paths (strcat current-paths ";" new-path))
- )
- (T ; 路径已存在
- (setq new-paths current-paths)
- )
- )
-
- ;; 写入注册表
- (if (vl-registry-write (car reg-info) (cadr reg-info) new-paths)
- (progn
- (princ (strcat "\n已添加受信任路径: " new-path))
- T
- )
- (progn
- (princ "\n写入注册表失败")
- nil
- )
- )
- )
;; 使用:添加当前目录到受信任路径
(AddTrustedPath (getvar "dwgprefix"))
|