我有一个独立的 LiveCode 应用程序,需要在打印之前知道 MacOS 打印队列中是否有作业在等待。 如果应用程序用户 1 打印 2 页报告,但只打印一页(缺纸),则用户 2 出现并打印报告,第一页打印的是用户 1 的报告,这会导致混淆。 我想检查 MacOS 打印队列并阻止打印(如果有作业已在等待)。
这不是我曾经需要做的事情,但我怀疑 LiveCode 本身并不包含此功能。相反,您最好的选择可能是使用 LiveCode 的
shell()
函数来运行 unix 终端命令。例如,lpstat
是一个命令行实用程序,可让您查询有关连接到 Mac 的打印机的各种信息。在 MacOS 终端中运行以下命令,显示哪些打印机可用及其当前状态。
lpstat -p
在 LiveCode 中,您可以使用
shell()
函数来调用此命令行实用程序,如下所示:
put shell("lpstat -p") into tPrinterStatus
要了解有关 lpstat 的更多信息,请打开终端并查找手册页:
man lpstat
将会出现该实用程序的许多选项。应该有一个可以为您提供所需的信息。
您也可以从命令行执行此操作:
open "/System/Applications/Utilities/Print Center.app"
它将打开默认打印机的打印机队列窗口。