4

我正在寻找一种使用 C 或 C++ 程序检查 Linux/Unix 机器上是否存在打印机的方法。类似于以下 Windows 程序:

BOOL IsPrinterExist(LPTSTR pPrinterName)
{
    HANDLE hPrinter = NULL;
    if(OpenPrinter(PRINTERNAME,&hPrinter,NULL))
    {
        ClosePrinter(hPrinter);
        hPrinter = NULL;
        return TRUE;
    }
    return FALSE;
}

我想我可以使用 CUPS API 来做到这一点,但我需要一些可以在每台机器上运行的东西,无需特殊安装,使用 OS API。我知道我也可以使用发出lpstat -a命令并读取其输出,但我正在寻找一种直接执行此操作的方法(做什么lpstat -a)。

4

1 回答 1

1

由于 CUPS 是在 GNU/Linux 系统上打印的事实上的标准,我不会太担心“特殊安装”:如果没有安装 CUPS,机器可能无论如何都无法打印。

要了解如何使用 CUPS API,请查看lpstat's source

于 2013-06-09T08:22:14.027 回答