明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 938|回复: 4

[提问] lsp加载时读取注册表值

[复制链接]
发表于 2024-3-24 11:36:46 | 显示全部楼层 |阅读模式
80明经币
本帖最后由 刘大叔 于 2024-3-27 00:56 编辑


【提问内容】
想实现如下操作:
lsp A加载时,先读取电脑注册表中固定位置的数据值,读取到了,正常加载,读取不到,弹出对话框:“lsp A没有正确加载”。
然后,这个lsp A会连同其他lsp程序打包成fas,或lsp A被置入其他lsp程序的开头,来判断是否加载。
要求基本就上上面的,需要lsp A的源码,,注册表的位置,读取的值还没想好,一起帮我找个位置呗~



XJ6019的源码见二楼。

运行后发现不行,认真看了代码,应该是读取不到,停止运行,于是修改代码如下:

  1. ;(defun C:NM (/ selasxk zhucebiao)
  2.   (setq zhucebiao "HKEY_CURRENT_USER\\SOFTWARE\\XXXSOFT\\Config");;定义注册表路径,XXXXSOFT\\Config为自定义注册表具体位置
  3.   (if (null (vl-registry-read zhucebiao "Key" )) ;;如果这个注册表位置读取不到
  4.     (progn
  5.       (vl-exit-with-error (alert "\n文件lisp A没有正确加载"));;则程序停止运行,并弹出对话框
  6.       ;(setq selasxk (vl-registry-write zhucebiao "Key" "text01")) ;  就将"text01"这个测试字符串写入注册表,自己确定这里是否启用(这句是XJ6019大哥写的,我没有删除)
  7.     )  
  8.     (progn
  9.       ;(setq selasxk (vl-registry-read zhucebiao "Key" ));如果注册表存在这个key,就直接读取(这里已被注释,不需要运行)
  10.               ;(vl-exit-with-error  (alert "\n指定函数加载失败!请重新加载!")) ;;已被注释,不需要运行(读取不到停止运行,读到了就继续运行)
  11.     )      
  12.   )
  13.   (princ selasxk);验证结果
  14. ;)


  15. ;;本人系lisp婴儿,特别感谢论坛各路大哥们的帮助!
  16. ;;每次求助均不白嫖,明经币奉上!


感谢XJ6019的帮助,已设置最佳答案!


最佳答案

查看完整内容

测试一下看看
发表于 2024-3-24 11:36:47 | 显示全部楼层
本帖最后由 xj6019 于 2024-3-24 12:25 编辑

测试一下看看

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2024-3-24 14:32:19 | 显示全部楼层
vl-registry-read   vl-registry-write
回复

使用道具 举报

发表于 2024-3-24 17:23:18 | 显示全部楼层
这种应该不难实现,但也容易被破除限制
回复

使用道具 举报

 楼主| 发表于 2024-3-27 00:50:09 | 显示全部楼层

点赞!
虽有点儿瑕疵,我修改了一点点,可以达到我的预想,明经币奉上!有空的话就再帮我看看呗。
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 20:28 , Processed in 0.165623 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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