检查打印机是否存在的程序

时间:2013-06-09 07:38:10

标签: c++ c linux

我正在寻找一种方法来检查使用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所做的事。)

1 个答案:

答案 0 :(得分:1)

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

要了解如何使用CUPS API,请查看lpstat的{​​{3}}。