我有以下代码将已安装打印机的列表放入组合框中:
For Each s As String In Printing.PrinterSettings.InstalledPrinters
edtPrinter.Items.Add(s)
Next
但是,我在单个客户端安装时遇到问题,可能是假脱机服务,该迭代挂起并锁定了我的应用程序。通过单击该特定计算机上控制面板中的“设备和打印机”,我可以在资源管理器中触发相同的“挂起”。重新启动 Spool32 会导致应用程序释放,直到再次命中迭代。
与其解决他们的假脱机问题,不如在假脱机问题出现时如何最好地实施某种超时或以其他方式防止此调用冻结我的应用程序?我真的不能毫无困难地在单独的线程上调用它 - 有没有更好的方法来调用这个属性而不会使我的应用程序处于冻结状态?