получить список локальных и сетевых принтеров с помощью c # - PullRequest
2 голосов
/ 08 января 2010

У меня есть веб-приложение с asp.net 2.0, и я хочу создать выпадающее меню, показывающее принтеры, установленные на клиентском компьютере? Как это возможно?

Я попробовал следующий код

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

, но отображаются только локальные принтеры, подключенные к серверу, а не клиентский компьютер.

Ответы [ 2 ]

0 голосов
/ 08 января 2010

Вы не можете получить его в ASP.NET, потому что он работает на вашем сервере. Вы также не можете получить это в Javascript. Это просто не доступно; см., например, http://javascript.about.com/od/events/a/print_3.htm.

Единственное решение, которое я могу придумать, - это создать элемент управления ActiveX, и тогда вы сможете использовать C #, который у вас есть в вопросе, кроме запуска на клиенте. Конечно, это ограничивает вас IE.

0 голосов
/ 08 января 2010

Если вы хотите показать установленные принтеры на клиентском компьютере, вам, возможно, придется использовать javascript, поскольку написанный вами код будет выполняться на стороне сервера.

...