2010-01-08 87 views
2

我有一個與asp.net 2.0的Web應用程序,我想創建一個下拉菜單顯示客戶機上安裝的打印機?這怎麼可能?獲取本地和網絡打印機的列表與c#

我嘗試下面的代碼

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

但它只顯示連接與服務器,而不是客戶端計算機的本地打印機。

+0

很多壞人都在使用這個方法,我不確定它是否可靠並且不希望討論這些細節。看看Jeremiah grossman的博客,你會在這裏找到我提到的方法。 – 2010-01-08 07:32:50

回答

0

你不能在ASP.NET中獲取它,因爲它在你的服務器上運行。你也無法在Javascript中獲得它。它只是不可用;例如參見http://javascript.about.com/od/events/a/print_3.htm

我能想到的唯一解決方案就是構建一個ActiveX控件,然後你就可以使用問題中的C#,除了在客戶端運行外。當然,這限制你到IE。

0

如果您要在客戶端計算機上顯示已安裝的打印機,則可能必須使用JavaScript,因爲您編寫的代碼將在服務器端執行。