Принтеры недоступны, если они не доступны - PullRequest
6 голосов
/ 18 августа 2008

Мы используем классический asp для вызова dll на C #, а в dll на C # мы используем System.Drawing.Printing.PrinterSettings.InstalledPrinters, чтобы получить список доступных принтеров. Если принтеры не являются общими, они не будут отображаться, когда пользователь пытается распечатать. Локальная системная учетная запись может видеть и печатать на них из dll VB6, а администраторы могут печатать очень хорошо из dll C #, как и следовало ожидать. Есть ли какие-то разрешения, которые мы должны предоставить пользователю, чтобы эти принтеры были доступны?

Ответы [ 2 ]

4 голосов
/ 18 августа 2008

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

На MSDN была страница, где говорилось, как вы можете выдать себя за другого пользователя, который может иметь доступ к принтерам, но я не смог его найти.

Редактировать: я отправил слишком рано. Вот эта страница .

НТН

3 голосов
/ 19 августа 2008

Я вполне уверен, что выдача себя за пользователя или использование его учетных данных не означает возможность видеть принтеры для этого пользователя. Я считаю, что explorer.exe повторно подключает все сетевые ресурсы (общие ресурсы / принтеры) при входе в систему.

...