2011-09-27 71 views
2

我想通过silverlight获取网络打印机列表。我已经看到了一些使用WMI的例子,但它们在Silverlight中不可用,所以我想知道是否有任何替代方法可以通过silverlight或至少安装的打印机查找网络打印机...获取网络打印机列表silverlight

还有发布的问题here

回答

4

在Silverlight 5中,您可以通过PInvoke使用EnumPrinters Win32 API调用。代码很长,所以我放了一个示例来展示如何枚举机器上的打印机。

http://10rem.net/blog/2011/09/27/enumerating-printers-using-pinvoke-in-silverlight-5

使用Silverlight 4,你的运气了。

+0

感谢@Pete的帖子。如果Silverlight4有一个解决方法,请告诉我,因为我们现在无法切换到Silverlight5,特别是它甚至还没有进入Beta阶段...... –

+0

链接似乎已经死亡。 – ChrisF

2

它是我的理解,你不能这样做。你无法控制这一点,它只是为了它的内置支持而被移交。这与你无法指定打印机的原因是一样的 - 它不允许这样做。

+0

+1但更确切。它不能做到。 – AnthonyWJones

+0

我们之前都错了 - 确定性可能是一种幻想:) –