1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
HANDLE pFileDirect=NULL;
int OpenPrinterDirect(char* szPrinterName, char* szDocName)
{
DOC_INFO_1 di;
di.pDocName = szDocName;
di.pOutputFile = NULL;
di.pDatatype = "RAW";
if ( !OpenPrinter(szPrinterName, &pFileDirect, NULL ) )
return 0;
if ( StartDocPrinter( pFileDirect, 1, (LPBYTE)&di ) == 0 )
return 0;
if ( !StartPagePrinter( pFileDirect ) )
return 0;
return 1;
}
int ClosePrinterDirect()
{
if ( !EndPagePrinter(pFileDirect ) )
return 0;
if ( !EndDocPrinter(pFileDirect) )
return 0;
if ( !ClosePrinter(pFileDirect) )
return 0;
}
BOOL WritePrinterString(const char *sz)
{
DWORD bw;
return WritePrinter(pFileDirect, (void*)sz,strlen(sz),&bw);
} |