vc里 怎样检测打印机状态?

来源:百度知道 编辑:UC知道 时间:2024/05/27 04:47:50
如题,怎样在vc中编程实现检测打印机是否卡纸,死机,无连接等等异常。
在向打印机发送数据时候出错信息能够分类描述,而不是只是出错。

你提的这个要求不太可能实现,不同的打印机是不一样的,而且打印机驱动程序也多半不会提供这样的接口,你要求的这些事情会由打印机的驱动程序来捕获的,会由它直接显示给用户。

使用 GetPrinter 函数

BOOL GetPrinter(
HANDLE hPrinter, // handle to printer
DWORD Level, // information level
LPBYTE pPrinter, // printer information buffer
DWORD cbBuf, // size of buffer
LPDWORD pcbNeeded // bytes received or required
);

Level为6时,
返回PRINTER_INFO_6

PRINTER_INFO_6 中就有打印机的状态,如 忙,缺纸,卡纸,等等.

详见 msdn的
ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/gdi/prntspol_1gky.htm