获取打印机的状态,但是STATUS一直是0,该怎么处理
获取打印机的状态,但是STATUS一直是0
RT
像是
pPrinterInfo->pServerName;
pPrinterInfo->pPrinterName;
pPrinterInfo->pShareName;
pPrinterInfo->pPortName;
pPrinterInfo->pDriverName;
都是可以获得的
但是pPrinterInfo->dwStatus 一直是0
代码:
HANDLE hPrinter=0;
DWORD dwNeeded=0;
PRINTER_INFO_2* pPrinterInfo= (PRINTER_INFO_2 *)malloc( 0 );
::OpenPrinter("Samsung SCX-4200 Series",&hPrinter,NULL);
if(!::GetPrinter(hPrinter,2,(LPBYTE)pPrinterInfo,0,&dwNeeded))
{
pPrinterInfo= (PRINTER_INFO_2 *)malloc( dwNeeded );
::GetPrinter(hPrinter,2,(LPBYTE)pPrinterInfo,dwNeeded,&dwNeeded);
}
::ClosePrinter(hPrinter);
也用过MSDN中的范例代码,但是一样的结果
望各位高手相助,我完全是半路出家,工作上急着要我又是一头雾水,所以来求助
拜托了!!!!!!!!!!!!!
------解决方案--------------------
也许是你这个Samsung SCX-4200 Series打印机驱动太旧,不支持提交其状态到应用层。
试试用“驱动精灵”看能不能升级这个打印机驱动。
或者打印机实际型号不是或不兼容Samsung SCX-4200 Series打印机驱动?
有条件的话,可以换个别的厂商的打印机试试。
RT
像是
pPrinterInfo->pServerName;
pPrinterInfo->pPrinterName;
pPrinterInfo->pShareName;
pPrinterInfo->pPortName;
pPrinterInfo->pDriverName;
都是可以获得的
但是pPrinterInfo->dwStatus 一直是0
代码:
HANDLE hPrinter=0;
DWORD dwNeeded=0;
PRINTER_INFO_2* pPrinterInfo= (PRINTER_INFO_2 *)malloc( 0 );
::OpenPrinter("Samsung SCX-4200 Series",&hPrinter,NULL);
if(!::GetPrinter(hPrinter,2,(LPBYTE)pPrinterInfo,0,&dwNeeded))
{
pPrinterInfo= (PRINTER_INFO_2 *)malloc( dwNeeded );
::GetPrinter(hPrinter,2,(LPBYTE)pPrinterInfo,dwNeeded,&dwNeeded);
}
::ClosePrinter(hPrinter);
也用过MSDN中的范例代码,但是一样的结果
望各位高手相助,我完全是半路出家,工作上急着要我又是一头雾水,所以来求助
拜托了!!!!!!!!!!!!!
------解决方案--------------------
也许是你这个Samsung SCX-4200 Series打印机驱动太旧,不支持提交其状态到应用层。
试试用“驱动精灵”看能不能升级这个打印机驱动。
或者打印机实际型号不是或不兼容Samsung SCX-4200 Series打印机驱动?
有条件的话,可以换个别的厂商的打印机试试。