c 调用共享 打印机

  • c 调用共享 打印机已关闭评论
  • A+
所属分类:远程维修
摘要

内容可以使用C语言的Win32API函数来实现,如下:#include#includeintmain(intargc,char*argv[]){//定义缓冲区charszBuffer[700];//打开共享打印机HANDLEhPrinter=NULL;if(!OpenPrinter(“SharedPrinterName”

内容

可以使用C语言的Win32 API函数来实现,如下:

#include
#include

int main( int argc, char *argv[] )
{
// 定义缓冲区
char szBuffer[700];

// 打开共享打印机
HANDLE hPrinter = NULL;
if( !OpenPrinter( "SharedPrinterName", &hPrinter, NULL ) )
{
printf( "OpenPrinter failed with error %d\n", GetLastError() );
return 1;
}

// 设置打印作业信息
DOC_INFO_1 DocInfo;
DocInfo.pDocName = "My Document";
DocInfo.pOutputFile = NULL;
DocInfo.pDatatype = "RAW";

// 开始打印作业
HANDLE hJob = NULL;
if( (hJob = StartDocPrinter( hPrinter, 1, (LPBYTE)&DocInfo )) == NULL )
{
printf( "StartDocPrinter failed with error %d\n", GetLastError() );
return 1;
}

// 构造待打印字符串
sprintf( szBuffer, "%s", "This is the 700 characters content.\n");

// 写入打印机缓冲区
DWORD dwBytesWritten = 0;
if( !WritePrinter( hPrinter, szBuffer, 700, &dwBytesWritten ) )
{
printf( "WritePrinter failed with error %d\n", GetLastError() );
return 1;
}

// 结束打印作业
if( !EndDocPrinter( hPrinter ) )
{
printf( "EndDocPrinter failed with error %d\n", GetLastError() );
return 1;
}

// 关闭打印机句柄
if( !ClosePrinter( hPrinter ) )
{
printf( "ClosePrinter failed with error %d\n", GetLastError() );
return 1;
}

return 0;
}

  • 微信在线客服
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 扫一扫码上服务
  • weinxin