2008-08-18 83 views
5

我们使用经典的asp调用C#dll,并在C#dll中使用System.Drawing.Printing.PrinterSettings.InstalledPrinters来获取可用打印机列表。如果打印机不共享,则当用户打印时不会显示打印机。本地系统帐户可以查看并从VB6 dll打印给他们,管理员可以按照您的预期从C#dll中打印出来。是否有某种权限需要授予用户,以便这些打印机可用?打印机不可用,除非共享

+0

我不确定你的意思。也许管理员可以这样做,因为他自己已经登录,或者因为特定用户可以看到的打印机存储为注册表中的条目。 – 2008-08-20 00:29:03

回答

4

我记得,运行一个网站使用网络用户帐户,它可能没有权限查看本地打印机。

在MSDN上有一个页面,表示如何模拟另一个可能访问打印机的用户,但我一直无法找到它。

编辑:我张贴得太快了。 Here's the page

HTH

+0

我很确定它正在用用户凭证运行。在SQL事件探查器中,我的查询正在使用用户的凭据。授予对打印机的网络服务帐户访问权限不能解决问题。 – Ryan 2011-05-26 21:08:36

3

我相当肯定,冒充用户或使用他们的凭证不构成看打印机的用户的能力。我相信explorer.exe会在登录后重新连接所有的网络资源(共享/打印机)。

+0

如果只在explorer.exe运行时才连接,那么当没有用户登录时,为什么管理员能够访问打印机? – Ryan 2011-05-26 21:09:10

相关问题