如题

解决方案 »

  1.   

    GetProfileString("windows","device",",,,",buf,80);
      

  2.   

    char dev[255],*dp;  GetProfileString("windows","device","",dev,255);
      if(strcmp(dev,"")==0) return;
      dp=strchr(dev,',');
      *dp='\0';  
      
        if(OpenPrinter(dev,&hPrint,NULL))
        { PrinterProperties(NULL,hPrint);
          ClosePrinter(hPrint) ;
        }
      

  3.   

    这个可能更好
    EnumPrinters (dwFlags, NULL, 2, (LPBYTE) pPrinters,
              cbPrinters, &cbPrinters, &cReturned)
    for (i = 0; i < cReturned; i++)
    {
    strcpy (szDeviceName, (pPrinters + i)->pPrinterName);
    strcpy (szPort, (pPrinters + i)->pPortName);
    strcpy (szDriverName, (pPrinters + i)->pDriverName);
    memcpy (&InitData, (pPrinters + i)->pDevMode, sizeof(DEVMODE));
    }