(defun _GetNetworkPrinters ( / WshNetwork oPrinters result i )
;; 2007/12/xx Michael Puckett
;;
;; Translated from http://tinyurl.com/2496ow
;;
;; typical result --
;;
;; (
;; ("PDFFILE:" . "Win2PDF")
;; ("XPSPort:" . "Microsoft XPS Document Writer")
;; ("IP_nn.n.nn.nnn" . "\\\\server\\Plotter Name 1")
;; ...
;; ("IP_nn.n.nn.nnn" . "\\\\server\\Plotter Name n")
;; )
;;
(setq
WshNetwork (vlax-create-object "WScript.Network")
oPrinters (vlax-invoke WshNetwork 'EnumPrinterConnections)
)
;; weird, count is a method, not a property of oPrinters
(repeat (setq i (vlax-invoke oPrinters 'Count))
(if (zerop (rem (setq i (1- i)) 2))
(setq result
(cons
(cons
;; weird, item is a method,
;; not a property of oPrinters
(vlax-invoke
oPrinters
'Item
i
)
(vlax-invoke
oPrinters
'Item
(1+ i)
)
)
result
)
)
)
)
(vlax-release-object oPrinters)
(vlax-release-object WshNetwork)
result
)