兄弟!我发了一个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 ) ) |