我在delphi 7中开发了一个简单的win 32服务,该服务执行一些打印操作。在我们的XP机器上,所有程序都可以正常运行,但在目标Windows 2008标准服务器上,则无法正常运行。当我在print语句周围尝试tryexcept块时,将导致“选择的打印机无效”错误。
当我检查打印机对象的打印机数量并将事件将打印机对象中所有可用的打印机写到文件中时,它可以正常工作。仅当我尝试执行打印(在任何本地和网络打印机上)时,它才会失败。
基于使用google的大量研究,我发现了很多使用本地acct,网络acct,特定acct,LogonAsUser,ImpersonateUser,LoadUserProfile等的建议,但是没有任何效果。我还在已安装的打印机上设置了安全性,以供所有人使用。
这件事真的让我发疯。非常感谢任何帮助。
谢谢