gpt4 book ai didi

2008 64 位标准服务器上的 Delphi Win32 服务 "Printer Selected is not valid"错误

转载 作者:行者123 更新时间:2023-12-03 15:22:44 25 4
gpt4 key购买 nike

我在 delphi 7 中开发了一个简单的 win 32 服务 ,它执行一些打印操作。在我们的 XP 计算机上一切正常,但在目标 Windows 2008 标准服务器 上失败。当我在 print 语句周围放置 try except block 时,会导致“所选打印机无效”错误。

当我检查打印机对象的打印机数量并将打印机对象中可用的所有打印机写入文件时,它工作正常。仅当我尝试执行打印(在任何本地和网络打印机上)时,它才会失败。

根据使用谷歌进行的大量研究,我发现了很多使用本地帐户、网络帐户、特定帐户、LogonAsUser、ImpersonateUser、LoadUserProfile 等的建议,但没有任何效果。我还在已安装的打印机上设置了安全性,以便每个人都可以访问。

这件事真让我发疯。非常感谢任何帮助。

谢谢

最佳答案

这可能是由于 Vista 中引入的 session 0 隔离造成的。服务始终在 session 0 中运行,但在 XP 及更早版本中,第一个登录的用户也在 session 0 中运行,从而允许服务访问该用户的桌面(从而允许“交互式”服务)和资源(如共享和打印机) 。从 Vista 开始,用户不再在 session 0 中运行,因此服务无法再访问用户特定的资源。服务必须模拟它想要访问的用户帐户。

关于2008 64 位标准服务器上的 Delphi Win32 服务 "Printer Selected is not valid"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4618833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com