使用c#获取本地和网络打印机的列表

时间:2010-01-08 07:06:52

标签: c# asp.net-2.0 printing

我有一个带有asp.net 2.0的Web应用程序,我想创建一个下拉菜单,显示客户端计算机上安装的打印机?怎么可能?

我尝试了以下代码

foreach (string strPrinter in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
{
   // add to list
}

但它只显示与服务器连接的本地打印机,而不是客户端计算机。

2 个答案:

答案 0 :(得分:0)

如果要在客户端计算机上显示已安装的打印机,则可能必须使用javascript,因为您编写的代码将在服务器端执行。

答案 1 :(得分:0)

您无法在ASP.NET中获取它,因为它在您的服务器上运行。你也无法在Javascript中获得它。它只是不可用;例如,请参阅http://javascript.about.com/od/events/a/print_3.htm

我能想到的唯一解决方案是构建一个ActiveX控件,然后您就可以使用问题中的C#,除了在客户端上运行。当然,这限制了你的IE。