以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]获取已安装的打印机名称 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76057) |
-- 作者:农村人 -- 发布时间:2015/10/20 21:40:00 -- [求助]获取已安装的打印机名称 For Each p As String in InstalledPrinters 以上代码,可以列出已经安装的打印机名称 但以下代码却不能.问题出在哪呢 Dim cmd As WinForm.ComboBox = e.Form.Controls("ComboBox1") For Each p As String In InstalledPrinters cmd.Combolist = p Next
|
-- 作者:大红袍 -- 发布时间:2015/10/20 21:40:00 -- Dim cmd As WinForm.ComboBox = e.Form.Controls("ComboBox1")
For Each p As String In InstalledPrinters
cmd.Items.Add(p)
Next
|
-- 作者:15986720145 -- 发布时间:2015/10/22 20:52:00 -- 追问::已经获得局域网内在线的电脑名字列表,并已经赋值给 ComboList , 其中某台电脑装有打印机,并且已经共享,请问 如何获得局域网内的打印机名字。
[此贴子已经被作者于2015/10/22 21:06:34编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/10/22 21:06:00 -- 以下是引用15986720145在2015/10/22 20:52:00的发言:
追问:: 如何获得局域网内的打印机。
你获取没有用,获取了你没有添加到你的电脑上不能直接打印。
|
-- 作者:大红袍 -- 发布时间:2015/10/22 21:07:00 -- 全局代码
<FlagsAttribute> _ <StructLayout(LayoutKind.Sequential, CharSet := CharSet.Auto)> _ <DllImport("winspool.drv", CharSet := CharSet.Auto, SetLastError := True)> _ Private Const ERROR_INSUFFICIENT_BUFFER As Integer = 122 Public Function MyEnumPrinters(Flags As PrinterEnumFlags) As PRINTER_INFO_1() If EnumPrinters(Flags, Nothing, 1, IntPtr.Zero, size, cbNeeded, _ Return New PRINTER_INFO_1() {} |
-- 作者:大红袍 -- 发布时间:2015/10/22 21:07:00 -- 调用代码
Dim printers As PRINTER_INFO_1() = MyEnumPrinters(PrinterEnumFlags.PRINTER_ENUM_REMOTE) |
-- 作者:15986720145 -- 发布时间:2015/10/22 21:33:00 -- 谢谢大神,虽然看不太懂!!! |