我有以下代码将安装的打印机列表放入组合框:
For Each s As String In Printing.PrinterSettings.InstalledPrinters
edtPrinter.Items.Add(s)
Next
但是我遇到单个客户端安装的问题,可能是使用假脱机服务,此迭代挂起并锁定我的应用程序。通过单击该特定计算机上“控制面板”中的“设备和打印机”,我可以在资源管理器中触发相同的“挂起”。重新启动Spool32会导致应用程序释放,直到再次遇到迭代。
如果有假脱机程序问题,而不是修复他们的假脱机程序问题,如何最好地实现某种超时或以其他方式阻止此调用冻结我的应用程序?我不能毫无困难地在一个单独的线程上调用它 - 是否有更好的方法来调用此属性而不将我的应用程序暴露给冻结?
答案 0 :(得分:0)
一种可能性:在没有安装打印机的计算机上访问Windows打印功能时,Windows有时会崩溃。确保您的客户至少安装了一台打印机。