明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3858|回复: 6

[求助]请问各位,怎样用LISP调出当前系统中的打印机名称

[复制链接]
发表于 2007-8-1 22:39:00 | 显示全部楼层 |阅读模式

请问各位,怎样用LISP调出当前系统中的打印机名称,先谢了

发表于 2007-8-1 22:52:00 | 显示全部楼层

http://fsxm.bokee.com/viewdiary.15931006.html

;;;dos_getprn  fsxm-getprn 这个函数思路源自:xshrimp
(defun fsxm-getprn (/ strprint)  ;Windows NT
  (setq strprint
  (vl-registry-read
    (strcat
      "HKEY_CURRENT_USER\\Software\\Microsoft\\"
      "Windows NT\\CurrentVersion\\Windows"
    )
    "Device"
  )
  )
  (substr strprint 1 (vl-string-search "," strprint))
)

发表于 2007-8-6 17:35:00 | 显示全部楼层

如果系统中安装了多台打印机,是否能全部得到呢?

我运行是只得互默认的打印机名.

发表于 2007-8-7 23:29:00 | 显示全部楼层
发表于 2007-8-8 21:07:00 | 显示全部楼层

兄弟!我发了一个fsxm-getprn 的网址http://fsxm.bokee.com/viewdiary.15931006.html

得到系统全部打印机的函数就是在这fsxm-getprn 的下面

原来你没有进去看啊!哎!

取得系统默认打印机:

;;;dos_getprn  fsxm-getprn 这个函数思路源自:xshrimp
(defun fsxm-getprn (/ strprint)  ;Windows NT
  (setq strprint
  (vl-registry-read
    (strcat
      "HKEY_CURRENT_USER\\Software\\Microsoft\\"
      "Windows NT\\CurrentVersion\\Windows"
    )
    "Device"
  )
  )
  (substr strprint 1 (vl-string-search "," strprint))
)

取得系统全部打印机:

;;;dos_printers => fsxm-printers
(defun fsxm-printers (/ return wshnetwork printlst i)
  (vl-catch-all-apply
    '(lambda ()
       (setq WshNetwork (vlax-create-object "wscript.Network"))
       (setq return (vlax-invoke WshNetwork 'EnumPrinterConnections))
       (setq i 1)
       (vlax-release-object WshNetwork)
       (repeat (/ (vlax-get return 'length) 2)
  (setq printlst (cons (vla-item return i) printlst))
  (setq i (+ 2 i))
       )
     )
  )
  printlst
)

设置系统默认打印机:

;;;dos_setprn => fsxm-setprn
(defun fsxm-setprn (printername / wshnetwork)
  (if (null
 (vl-catch-all-apply
   '(lambda ()
      (setq WshNetwork (vlax-create-object "wscript.Network"))
      (vlax-invoke WshNetwork 'SetDefaultPrinter printername)
    )
 )
      )
    t
  )
)

发表于 2009-10-24 08:03:00 | 显示全部楼层
路过,用用,谢谢
发表于 2011-7-26 16:34:44 | 显示全部楼层
刚好要用到,顶下,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-22 02:07 , Processed in 0.184481 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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