1

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

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

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

显然,它以前可以在同一台计算机上工作,然后在过去的某个时间停止工作。

Spooler 出现问题,最近安装了网络打印机。

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

有任何想法吗?

谢谢!


编辑:以提升的权限运行程序解决了这个问题。重点是Martijn。谢谢!

4

2 回答 2

4

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

反之亦然(以管理员身份安装的打印机无法访问以有限帐户权限运行的程序)。

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

于 2011-04-12T18:52:48.633 回答
4

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

于 2011-04-12T18:34:21.787 回答