明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 230|回复: 3

[讨论] 打开文件夹选择对话框,选择目录

[复制链接]
发表于 20 小时前 | 显示全部楼层 |阅读模式
本帖最后由 sandyvs 于 2025-2-26 01:08 编辑

;利用shell.application的browseforfolder,可以返回路径,可如果指定了根目录,就无法返回上一级目录。
;有时候需要返回上一级或其他目录,如果不指定,又得重选一次
;利用powershell可以实现,可脱离了cad的控制。。
;【API】多文件选择函数,支持所有CAD版本的多选 - AutoLISP/Visual LISP 编程技术 - AutoCAD论坛 - 明经CAD社区 - Powered by Discuz! 海哥有选择多个文件的,不知道怎么实现的 ,感觉文件夹应该也可以

;path默认打开路径
  • (defun czx:selfolder (path / command1 res shl)
  •   (vl-registry-write "HKEY_CURRENT_USER\\czx\\pldy_folder" "选择的文件夹" "")
  •   (setq command1
  •     (strcat
  •       "Add-Type -AssemblyName System.Windows.Forms;"
  •       "$f = New-Object Windows.Forms.Form;"
  •       "$f.StartPosition = 'CenterScreen';"
  •       "$d = New-Object System.Windows.Forms.FolderBrowserDialog;"
  •       "$d.Description = '请选择目录(不要点击CAD窗口,防止假死)';"
  •       "$d.SelectedPath = '" path "';"
  •       "if ($d.ShowDialog($f) -eq 'OK') { $d.SelectedPath } else { '' };"
  •       "Set-ItemProperty -Path \"HKCU:\\czx\\pldy_folder\" -Name \"选择的文件夹\" -Value $d.SelectedPath"
  •     )
  •   )
  •   (setq shl (vla-getinterfaceobject (vlax-get-acad-object) "shell.application"))
  •   (vlax-invoke-method
  •     shl
  •     'ShellExecute
  •     "powershell.exe"
  •     (strcat " -Command \"" command1 "\"")
  •     "" "" 0
  •   )
  •   (while (= (setq res (vl-registry-read "HKEY_CURRENT_USER\\czx\\pldy_folder" "选择的文件夹") ) ""))
  •   res
  • )
  • ;(czx:selfolder (setq path "D:\\YQarch"))



"觉得好,就打赏"
还没有人打赏,支持一下
回复

使用道具 举报

发表于 14 小时前 | 显示全部楼层
autocad 默认打开路径,通过修改注册表是可以实现的。bricscad我一直没找到方法。
回复 支持 反对

使用道具 举报

 楼主| 发表于 5 小时前 | 显示全部楼层
或者使用其他的
(acet-ui-pickdir "选择目录" "D:\\YQArch" "请指定目录");需要acetutil.arx
(dos_getdir "选择目录" "D:\\YQArch" "请指定目录" nil);需要doslibarx
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-26 21:59 , Processed in 0.181615 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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