枚举本机打印机的问题

xaj21 2008-04-10 05:32:03
本机安装了两个本地打印机A,B,一个网络打印机C
通过以下程序取得打印机A,B
For Each printerNm In PrinterSettings.InstalledPrinters
Dim dr As DataRow()
dr = printList.Select(String.Format("PRINTERNM = '{0}'", printerNm))
If dr IsNot Nothing AndAlso dr.Length > 0 Then
ifString = ifString & " || (this.options[this.selectedIndex].value =='" & Server.HtmlEncode(printerNm.Replace("\", "\\")) & "') "
End If
Me.drpPrinter.Items.Add(printerNm)
Next

现在想把打印机C也能枚举出来,取出的结果是A,B,C三个打印机。请问怎么实现,最好能有源码

另外说明一点:
在开发环境下,取出来的结果是A,B,C三个打印机,但是奇怪的是web站点发布以后,取出来的只有A和B
...全文
171 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xaj21 2008-04-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yunfeng007 的回复:]
权限的问题,因为aspnet(xp),Network Service(2003)用户没有添加网络打印机,你所添加的网络打印机只是相对于你当前用户,所以取得不到,当然就没有办法选择;
解决方法:
1、你将所有你要选择的打印机路径及信息保存到一个表中,前台将它显示出来,例如绑定到listbox中供用户选择;
2、使用身份模拟,在web.config中指定模拟的用户帐号;
[/Quote]

谢谢高手,的确是权限的问题,用身份模拟以后就好了~~
xaj21 2008-04-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yunfeng007 的回复:]
权限的问题,因为aspnet(xp),Network Service(2003)用户没有添加网络打印机,你所添加的网络打印机只是相对于你当前用户,所以取得不到,当然就没有办法选择;
解决方法:
1、你将所有你要选择的打印机路径及信息保存到一个表中,前台将它显示出来,例如绑定到listbox中供用户选择;
2、使用身份模拟,在web.config中指定模拟的用户帐号;
[/Quote]

在web.config中怎么指定模拟的用户帐号?能不能给我写一下,多谢了
yunfeng007 2008-04-11
  • 打赏
  • 举报
回复
权限的问题,因为aspnet(xp),Network Service(2003)用户没有添加网络打印机,你所添加的网络打印机只是相对于你当前用户,所以取得不到,当然就没有办法选择;
解决方法:
1、你将所有你要选择的打印机路径及信息保存到一个表中,前台将它显示出来,例如绑定到listbox中供用户选择;
2、使用身份模拟,在web.config中指定模拟的用户帐号;
xaj21 2008-04-11
  • 打赏
  • 举报
回复
没人知道该怎么办吗?
xaj21 2008-04-11
  • 打赏
  • 举报
回复
公共变量?你指的哪个公共变量?
叶子 2008-04-10
  • 打赏
  • 举报
回复
发布的问题,莫非你的公共变量太多了

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧