乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 77|回复: 3

[编程交流] 向位置lis添加快捷方式

[复制链接]

23

主题

117

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-6 10:30:28 | 显示全部楼层 |阅读模式
我将在两个地方发布这个问题,一个在CAD管理下,另一个在Lisp论坛下,因为只有两个人在观看CAD管理和46 watchin Lisp论坛。提前为双重职位道歉。
 
我想在位置列表中添加一个shorcut。(当文件搜索对话框在打开、保存或导入等过程中打开时,左侧的列表…)在部署或lisp例程中实现自动化。
 
这是否可以访问位置列表以自动创建到所需路径位置的快捷方式?
 
谢谢
回复

使用道具 举报

4

主题

327

帖子

324

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 11:06:10 | 显示全部楼层
让你知道它在哪里
在注册表中,点击此处:
HKEY\U CURRENT\U USER/Software/autodsek/Acad//Acad xxx xxx/Profiles
选择一个配置文件,然后转到对话框,然后转到AllAnavDialogs
这是位置列表信息的存储位置。
 
我发现的问题是,如果密钥集为空,则不会显示下一个添加的密钥集
此外,当我从对话框中删除路径时,它在注册表中没有被删除
 
下面的代码需要错误捕捉,并根据您的需要进行调整
这是在AutoCAD 2004的windows XP Pro上完成的
我不确定更新的操作系统注册表是如何布置的
我对您的注册表中的错误或问题不承担任何责任
使用此软件的风险自负!!!!!!!!!
 
 
  1. ;;;call pllst using 2 arguments aug1 is the path to the location you want
  2. ;;; aug2 is the diaplay name that wiil show in the dialog box
  3. ;example: (pllst "C:\Program Files" "Program Files")
  4. ;;;NOTE: THIS NEEDS ALOT OF ERROR TRAPPING AND IT WILL WRITE TO THE REGISTRY
  5. ;;; THERE ARE STILL THINGS THAT CAN GO WRONG AND ANYTIME YOU PLAY IN THE REGISRTY
  6. ;;; YOU SHOULD BE VERY CAREFULL
  7. ;;; USE THIS AT YOU OWN RISK!!!!!!!!!!!!!!!!!
  8. (defun pllst (aug1 aug2 / prlst regkey nxtnum key1 key2 key3 ret1 ret2 ret3)
  9. (setq prlst (getprolst));_call to get profile list
  10. (setq regkey
  11. (strcat "HKEY_CURRENT_USER\"
  12.        (vlax-product-key)
  13.        "[url="file://profiles//"]\\Profiles\\[/url]"
  14.        (nth 0 prlst);_THIS NEES TO BE CHANGED TO SUIT YOUR NEEDS AS WRITTEN IT WILL ONLY GET THE 1ST PROFILE
  15.        "[url="file://dialogs//AllAnavDialogs"]\\Dialogs\\AllAnavDialogs[/url]"
  16.        )
  17.        );_setq gets the path to the reg key
  18. ;;;_ this will get the next number to be added to the places list
  19.        (setq nxtnum
  20. (1+
  21.        (atoi
  22. (vl-string-left-trim "PlacesOrder"
  23. (nth 2
  24. (vl-registry-descendents
  25. regkey
  26.        "*"
  27. );_reg des list all keys
  28.       );_nth
  29.        );_str trim
  30. );_atoi
  31.     );_1+
  32.        );_setq
  33. (setq key1 (strcat "PlacesOrder" (itoa nxtnum)));_first key name
  34. (setq key2 (strcat "PlacesOrder" (itoa nxtnum)"Display"));_second key nake
  35. (setq key3 (strcat "PlacesOrder" (itoa nxtnum)"Ext"));_third key name
  36. (setq ret1(vl-registry-write regkey key1 aug1));_write key with path
  37. (setq ret2(vl-registry-write regkey key2 aug2));_write key with display name
  38. (setq ret3(vl-registry-write regkey key3 ));_write exit key wit no value
  39. );_defun
  40. ;;; GET A LIST OF PROFILES
  41. (defun getprolst(/ prolst)
  42.   (vla-getallprofilenames
  43.     (vla-get-profiles
  44.        (vla-get-preferences         
  45.     (vlax-get-acad-object)
  46.        )
  47.        )
  48.     'prolst
  49.   )
  50.   (vlax-safearray->list prolst)
  51. );_defun
回复

使用道具 举报

23

主题

117

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-6 11:26:48 | 显示全部楼层
约翰
 
谢谢你的时间和努力。我必须说,我认为这件事太离谱了,对于像我这样的人来说,有点危险(可怕)。我会拿着它去研究,但现在我会去每台机器,用手设置捷径。我没想到会更改注册表。
 
这是我想在未来的项目中使用的辩护。
 
再次感谢
回复

使用道具 举报

4

主题

327

帖子

324

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 11:48:05 | 显示全部楼层
欢迎光临,
当你写注册表时,你真的必须掌握那里发生了什么,并试图找出所有可能出错的方式,然后写一个非常紧凑的代码来解决所有问题,如果你想成为一个好的程序员,你应该在所有的代码中都采用这种方法。
祝你好运
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-6 17:31 , Processed in 0.458529 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表