- A+
#include
#include
#include
#include
//定义函数原型
void GetPrinterInfo(HANDLE hPrinter);
void PrintInfo(HANDLE hPrinter, char* message);
void PrinterDialogBox(HANDLE hPrinter);
int main()
{
HANDLE hPrinter;
//定义和设置PRINTER_INFO_2结构体指针
LPPPRINTER_INFO_2 pPrinterInfo2;
DWORD dwNeeded;
DWORD dwReturned;
//获得默认打印机句柄
if(!OpenPrinter(NULL,&hPrinter,NULL))
{
printf("OpenPrinter() failed!\n");
return 1;
}
else
{
//获取打印机属性结构体空间大小
GetPrinter(hPrinter,2,NULL,0,&dwNeeded);
//单片机用malloc申请内存空间
pPrinterInfo2=(LPPPRINTER_INFO_2)malloc(dwNeeded);
if(pPrinterInfo2==NULL)
{
printf("malloc failed!\n");
return 1;
}
//获得打印机状态
GetPrinter(hPrinter,2,(LPBYTE)pPrinterInfo2,dwNeeded,&dwReturned);
if(dwReturned==0)
{
printf("GetPrinter failed!\n");
return 1;
}
//获得系统中的喷墨打印机驱动信息
GetPrinterInfo(hPrinter);
PrintInfo(hPrinter,"Hello World!");
PrinterDialogBox(hPrinter);
//释放内存
free(pPrinterInfo2);
//关闭打印机句柄
ClosePrinter(hPrinter);
}
return 0;
}
//获取喷墨打印机驱动信息
void GetPrinterInfo(HANDLE hPrinter)
{
DWORD dwNeeded;
DWORD dwReturned;
int i;
//获取系统中的打印机驱动信息的结构体空间大小
EnumPrinterDrivers(hPrinter,NULL,2,NULL,0,&dwNeeded,&dwReturned);
//申请内存
DRIVER_INFO_2 *tmpDriverInfo2=(DRIVER_INFO_2*)malloc(dwNeeded);
//获取系统中的打印机驱动信息的结构体
EnumPrinterDrivers(hPrinter,NULL,2,(LPBYTE)tmpDriverInfo2,dwNeeded,&dwNeeded,&dwReturned);
//显示获取到系统中的打印机驱动信息
printf("Get Printer Driver Information:\n");
for(i=0;i
- 微信在线客服
- 这是我的微信扫一扫
-
- 我的微信公众号
- 扫一扫码上服务
-




