home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_02_06 / 2n06070a < prev    next >
Text File  |  1991-03-16  |  1KB  |  41 lines

  1. /******************************************************************
  2. *     GetPrinterDC - Select a printer and create a printer DC
  3. *
  4. *     Returns:
  5. *            Device Context for printer, or 0 for failure.
  6. *
  7. *     Copyright:
  8. *            Original code by William H. Roetzheim (619) 669-6970
  9. *            Copyright 1990 by William H. Roetzheim
  10. *            All rights reserved.
  11. **********************************************************************/
  12.  
  13. HDC   GetPrinterDC (HWND hWnd)
  14. {
  15.       int                 i;
  16.       FARPROC             lpfnDM;
  17.       char szPrinter[64];
  18.       char szBuffer[64];
  19.       char *szDevice, *szDriver, *szOutput;
  20.       HANDLE       hLibrary;
  21.  
  22.       GetProfileString ("windows", "device", "", szPrinter, 64);
  23.  
  24.       szDevice = strtok (szPrinter, "," );
  25.       szDriver = strtok (NULL, ",");
  26.       szOutput = strtok (NULL, ",");
  27.  
  28.       strcpy (szBuffer, szDriver);
  29.       strcat (szBuffer, ".DRV");
  30.       hLibrary = LoadLibrary (szBuffer);
  31.       lpfnDM = GetProcAddress (hLibrary, "DEVICEMODE");
  32.       i = (*lpfnDM) (hWnd, hLibrary, (LPSTR) szDevice, (LPSTR) szOutput);
  33.       FreeLibrary(hLibrary);
  34.  
  35.       if ((i == 0) || (szDevice == 0) || (szDriver == 0) || (szOutput == 0)) return 0;
  36.       else return CreateDC (szDriver, szDevice, szOutput, NULL);
  37. }
  38.  
  39.  
  40.  
  41.