明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1267|回复: 4

[提问] 如何获取可用打印设备列表

[复制链接]
发表于 2018-10-16 00:02:38 | 显示全部楼层 |阅读模式
如题,就是plot命令行中指定“输出设备的名称”时输入"?"后列出的清单,如何用Vlisp语句获得,知道的大神麻烦告知一下,被这卡住了。


本帖子中包含更多资源

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

x
发表于 2018-10-16 00:31:53 | 显示全部楼层
论坛上有的吧,找下秋风大神的批量打印,里面什么东西都有,可以参考来用下。
发表于 2018-10-16 06:55:31 | 显示全部楼层
以原始VL库函数来读取打印设备名称:

  1. (defun c:printer (/ index l lst k)
  2.   ;lisperado
  3.   
  4.   (defun index (l n / x)
  5.     (if (> n 0)
  6.       (cons (cons (itoa (- (length l) (setq x (1- n)))) (nth x l)) (index l x))
  7.       )
  8.     )
  9.   
  10.   (textscr)
  11.   (if (and (setq l (vl-registry-descendents
  12.                      "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Print\\Printers"
  13.                      )
  14.                  )
  15.            (setq lst (index l (length l)))
  16.            )
  17.     (progn (initget (apply 'strcat (mapcar '(lambda (x) (strcat (car x) " ")) lst)))
  18.            (setq k (getkword
  19.                      (apply 'strcat
  20.                             (cons "\n可用打印设备,Select printer \n" (mapcar '(lambda (x) (strcat "[" (car x) "]=" (cdr x) " \n")) lst))
  21.                             )
  22.                      )
  23.                  )
  24.            (princ (cdr (assoc k lst)))
  25.            )
  26.     (princ "\n抱歉!执行失败!")
  27.     )
  28.   (terpri)
  29.   (princ)
  30.   )



输入索引 1,2,3 等等。。比输入名称更快捷吧?
发表于 2022-9-22 14:48:14 | 显示全部楼层
学习了顶一个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 19:24 , Processed in 0.183290 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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