如何使用 Delphi 使用打印机名称获取 PrinterIndex?

问题描述

我需要为三种不同的打印功能、标签、收据和“标准”(例如 A4)中的每一种分配一台打印机。我已经使用 listbox1.assign(printer.printers) 确定了所有可用的打印机,但似乎没有办法使用它来建立打印机的 PrinterIndex。我想将打印机名称和索引值存储在一个文件中,以便我可以使用 printer.printerindex 将打印机分配给每种类型的打印作业,而无需要求用户使用对话框选择打印机。

我是否以错误的方式处理这个问题,如果是这样,请告诉我正确的方法吗?我之前没有直接使用过 printers 单元。

解决方法

将打印机名称保存在文件中,而不是索引中。

当您重新启动程序并读回打印机名称时。然后循环遍历所有打印机以查找具有保存名称的打印机(它可能已被删除或重命名)并使用该打印机。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...