我正在寻找一种方法来检查使用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
所做的事。)
答案 0 :(得分:1)
由于CUPS是在GNU / Linux系统上打印的事实上的标准,我不会太担心“特殊安装”:如果没有安装CUPS,机器可能无论如何都无法打印。
要了解如何使用CUPS API,请查看lpstat
的{{3}}。