我在许多Microsoft Access应用程序中都有代码,它们使用如下代码填充一个列表,其中包含所有可用打印机的名称:
For Each ptr In Application.Printers
...在本地运行应用程序时,使用此代码的过程运行得非常快。
在远程桌面会话中运行相同的应用程序时,通常只需几秒钟。
对于一个客户端,这一行代码需要90秒才能执行,但每个用户每天只需第一次执行,即使远程桌面会话被正确终止并重新启动。问题在几个小时后或第二天再次出现。
服务器是Windows 2008 R2数据中心,SP1
Microsoft Office Professional Plus 2010 14.0.7188.5002
我错过了什么?
发布于 2018-02-09 14:30:11
事实证明,在远程桌面服务器上安装的错误或不合作的打印机驱动程序是罪魁祸首。即使关闭了本地打印机,也会出现90秒的延迟。删除服务器上的错误打印机设置解决了此问题。使用本地打印机只造成几秒钟的延迟。每个人的建议,问题可能是本地打印机导致关闭他们,然后淘汰本地打印机作为罪魁祸首,所以感谢所有您的投入。
发布于 2018-02-01 18:24:08
如果允许远程RDP会话将本地打印机包括在该列表中,那么通过网络获取打印机列表的速度会相当慢。
当您启动RDP客户端时,您可以禁用远程系统的“功能”,以便能够使用本地打印机来运行在该远程服务器上的软件。更糟糕的是,您的本地会话可能在您的网络上有几台打印机--因此整个过程可能需要相当长的时间--而且速度可能相当慢。
因此,禁用本地打印机的使用--该选项允许远程服务器与本地打印机进行通信和使用--是一个缓慢的过程。
当他们启动RDP客户端时,我建议您不要检查这个选项:

https://stackoverflow.com/questions/48568311
复制相似问题