Program drukujący

0

Witam mam do napisania program który drukuje plik .png z http, pobiera liste drukarek i ustawia drukarkę jako default. Wszystko ma działać po windowsem.

PrinterManager.h:

 #ifndef __PrinterManager__PrinterManager__
#define __PrinterManager__PrinterManager__

#include <stdio.h>
#include <iostream>
#include <limits>
#include <string>
#include <cstddef>
#include <sstream>

class PrinterManager
{
public:
    PrinterManager();
    
    char buff[5*1024];

    void GetPrinterList();
    std::string printerList;
    
    void GetDefaultPrinter();
    std::string defaultPrinter;
    
    void SetDefaultPrinter();
    std::string printerModel;
    
    void StandardPrinting(int width, int height, std::string pathBarcode);
    
    void CustomPrintring(int width, int height, int marginLeft, int marginRight, int marginTop, int marginBottom, int orientation, std::string pathBarcode);
    
};

#endif

Nie wiem czego użyć aby uzyskać zamierzony efekt.

PrinterManager.cpp:

 
#include "PrinterManager.h"

PrinterManager::PrinterManager()
{

}

void PrinterManager::GetPrinterList()
{
   
}

void PrinterManager::GetDefaultPrinter()
{
    
}

void PrinterManager::SetDefaultPrinter()
{
   
}

void PrinterManager::StandardPrinting(int width, int height, std::string pathBarcode)
{
  
}

void PrinterManager::CustomPrintring(int width, int height, int marginLeft, int marginRight, int marginTop, int marginBottom, int orientation, std::string pathBarcode)
{

}


0

https://msdn.microsoft.com/en-us/library/windows/desktop/dd144876(v=vs.85).aspx

i ogolnie cala dokumentacja winAPI jezeli chodzi o drukarki.

0

Widziałem tą dokumentację ale nie wiem jak tego używać. To jest moja pierwsza aplikacja na windows

0

przeciez masz tam co trzeba dolaczyc do projektu. Czego dokladnie nie rozumiesz?

0

mam np. coś takiego i nie działa nie rozumiem jak działa ten enum i jak go stosowac

 #include "stdafx.h"
#include < windows.h >
#include < conio.h > 
using namespace std;
 
void EnumeratePrinters(DWORD flags);
 
int _tmain(int argc, _TCHAR* argv[])
{
    EnumeratePrinters(PRINTER_ENUM_LOCAL);
    cout << "\nPress any key..."; 
    getch(); 
    return 0;
}
 
void EnumeratePrinters(DWORD flags)
{
    PRINTER_INFO_2* prninfo=NULL;
    DWORD needed, returned;
 
    //find required size for the buffer
    EnumPrinters(flags, NULL, 2, NULL, 0, &needed, &returned);
 
    //allocate array of PRINTER_INFO structures
    prninfo = (PRINTER_INFO_2*) GlobalAlloc(GPTR,needed);
 
    //call again
    if (!EnumPrinters(flags, NULL, 
        2, (LPBYTE) prninfo, needed, &needed, &returned))
    {
        cout << "EnumPrinters failed with error code " 
            << GetLastError() << endl;
    }
    else
    {
        cout << "Printers found: " << returned << endl << endl;
        for (int i=0; i)
        {
            cout << prninfo[i].pPrinterName << " on " 
                << prninfo[i].pPortName << endl;
            cout << "Status=" << prninfo[i].Status 
                << ", jobs=" << prninfo[i].cJobs << endl << endl;
        }
    }
 
    GlobalFree(prninfo);
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1