chen812 发表于 2018-10-16 00:02:38

如何获取可用打印设备列表

如题,就是plot命令行中指定“输出设备的名称”时输入"?"后列出的清单,如何用Vlisp语句获得,知道的大神麻烦告知一下,被这卡住了。


evayleung 发表于 2018-10-16 00:31:53

论坛上有的吧,找下秋风大神的批量打印,里面什么东西都有,可以参考来用下。

lisperado 发表于 2018-10-16 06:55:31

以原始VL库函数来读取打印设备名称:


(defun c:printer (/ index l lst k)
;lisperado

(defun index (l n / x)
    (if (> n 0)
      (cons (cons (itoa (- (length l) (setq x (1- n)))) (nth x l)) (index l x))
      )
    )

(textscr)
(if (and (setq l (vl-registry-descendents
                     "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Print\\Printers"
                     )
               )
         (setq lst (index l (length l)))
         )
    (progn (initget (apply 'strcat (mapcar '(lambda (x) (strcat (car x) " ")) lst)))
         (setq k (getkword
                     (apply 'strcat
                            (cons "\n可用打印设备,Select printer \n" (mapcar '(lambda (x) (strcat "[" (car x) "]=" (cdr x) " \n")) lst))
                            )
                     )
               )
         (princ (cdr (assoc k lst)))
         )
    (princ "\n抱歉!执行失败!")
    )
(terpri)
(princ)
)



输入索引 1,2,3 等等。。比输入名称更快捷吧?

技术工作室 发表于 2022-9-22 14:48:14

学习了顶一个
页: [1]
查看完整版本: 如何获取可用打印设备列表