德尔福不承认存在多台打印机

时间:2011-04-12 15:31:14

标签: delphi windows-7 printing delphi-7 printers

我遇到了一个奇怪的问题。

我的程序是使用Delphi7开发的。在运行Windows 7 64位的客户端计算机上,即使安装了多台打印机,Printer.Printers.Count也会返回0。

MS Word打印没有问题,并返回正确的打印机列表。

显然,它曾经在同一台计算机上工作,然后在过去的某个时刻停止工作。

最近安装了假脱机程序和网络打印机的问题。

当然它可能会导致问题,但它仍然无法解释为什么Word会看到打印机而Delphi却没有。

有什么想法吗?

谢谢!


编辑:使用提升的权限运行程序解决了这个问题。关键是Martijn。谢谢!

2 个答案:

答案 0 :(得分:4)

TPrinter.Printers使用外部窗口函数EnumPrinters。如果有问题应该与您的主机!
您可以在运行相同操作系统“Windows 7 64bit”的计算机上测试您的应用程序,如果它运行没有问题,那么您可以确定问题不是您的Delphi代码。

答案 1 :(得分:4)

这听起来有点像你在提升的权限(即管理员)下运行程序,其中没有安装打印机,因为它们都在用户的常规帐户下。

反之亦然(作为管理员安装的打印机无法访问具有有限帐户权限的程序)。

所以我认为这属于http://superuser.com