Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <windows.h>
- #include <string.h>
- int main ()
- {
- TCHAR szDriver[16] = _T("WINSPOOL");
- TCHAR szPrinter[256];
- DWORD cchBuffer = 255;
- HDC hdcPrint = NULL;
- HANDLE hPrinter = NULL;
- PRINTER_INFO_2 *pPrinterData;
- BYTE pdBuffer[16384];
- BOOL bReturn = FALSE;
- DWORD cbBuf = sizeof (pdBuffer);
- DWORD cbNeeded = 0;
- pPrinterData = (PRINTER_INFO_2 *)&pdBuffer[0];
- // get the default printer name
- bReturn = GetDefaultPrinter(
- szPrinter,
- &cchBuffer);
- if (bReturn) {
- // open the default printer
- bReturn = OpenPrinter(
- szPrinter,
- &hPrinter,
- NULL);
- }
- if (bReturn) {
- // get the printer port name
- bReturn = GetPrinter(
- hPrinter,
- 2,
- &pdBuffer[0],
- cbBuf,
- &cbNeeded);
- // this handle is no longer needed
- ClosePrinter(hPrinter);
- }
- if (bReturn) {
- // create the Print DC
- hdcPrint = CreateDC(szDriver, szPrinter,
- pPrinterData->pPortName, NULL);
- }
- if (hdcPrint) {
- // Print a test page that contains the string
- // "PRINTER TEST" in the upper left corner.
- Escape(hdcPrint, STARTDOC, 8, "Test-Doc", NULL);
- TextOut(hdcPrint, 50, 50, _T("PRINTER TEST"), 12);
- Escape(hdcPrint, NEWFRAME, 0, NULL, NULL);
- Escape(hdcPrint, ENDDOC, 0, NULL, NULL);
- // Delete the printer DC.
- DeleteDC(hdcPrint);
- }
- #include "stdafx.h"
- #include <stdio.h>
- #include <windows.h>
- #include <string.h>
- int main ()
- {
- TCHAR szDriver[16] = _T("WINSPOOL");
- TCHAR szPrinter[256];
- DWORD cchBuffer = 255;
- HDC hdcPrint = NULL;
- HDC hdcPrintImg = NULL;
- HANDLE hPrinter = NULL;
- PRINTER_INFO_2 *pPrinterData;
- BYTE pdBuffer[16384];
- BOOL bReturn = FALSE;
- DWORD cbBuf = sizeof (pdBuffer);
- DWORD cbNeeded = 0;
- pPrinterData = (PRINTER_INFO_2 *)&pdBuffer[0];
- // get the default printer name
- bReturn = GetDefaultPrinter(
- szPrinter,
- &cchBuffer);
- if (bReturn) {
- // open the default printer
- bReturn = OpenPrinter(
- szPrinter,
- &hPrinter,
- NULL);
- }
- if (bReturn) {
- // get the printer port name
- bReturn = GetPrinter(
- hPrinter,
- 2,
- &pdBuffer[0],
- cbBuf,
- &cbNeeded);
- // this handle is no longer needed
- ClosePrinter(hPrinter);
- }
- if (bReturn) {
- // create the Print DC
- HBITMAP bmp = (HBITMAP)LoadImage(0, L"print_file.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
- HBITMAP CreatCompatibleBitmap(bmp);
- hdcPrintImg = bmp;
- hdcPrint = CreateDC(szDriver, szPrinter,
- pPrinterData->pPortName, NULL);
- }
- if (hdcPrint) {
- // Print a test page that contains the string
- // "PRINTER TEST" in the upper left corner.
- //Escape(hdcPrint, STARTDOC, 8, "Test-Doc", NULL);
- //TextOut(hdcPrint, 50, 50, _T("PRINTER TEST"), 12);
- BitBlt(hdcPrint, 0, 0, 3300, 2550, hdcPrintImg, 0, 0, SRCCOPY);
- //Escape(hdcPrint, NEWFRAME, 0, NULL, NULL);
- //Escape(hdcPrint, ENDDOC, 0, NULL, NULL);
- // Delete the printer DC.
- DeleteDC(hdcPrint);
- }
Add Comment
Please, Sign In to add comment