Seite 1 von 1

[gelöst]kein Standarddrucker in XP

Verfasst: 24. Oktober 2013 13:37
von Codiac
Hallo zusammen,

ich versuche beim Start meiner Anwendung den Windows-Standarddrucker zu ermitteln:

Code: Alles auswählen

    QPrinter *ptrPrinter; //Zeiger auf Standarddrucker
    QPrinterInfo prInfo;
                                                                                                 
    if(prInfo.defaultPrinter().isNull())
    {
        if(prInfo.availablePrinters().count())
        {
            ptrPrinter = new QPrinter(prInfo.availablePrinters().at(0));
        }
        else
        {
            ptrPrinter = new QPrinter(QPrinter::HighResolution);
        }
    }
    else
    {
        ptrPrinter =  new QPrinter(prInfo.defaultPrinter());
    }

    ptrPrinter->setPageSize(QPrinter::A4);
    ptrPrinter->setResolution(600);
    ptrPrinter->setOrientation(QPrinter::Portrait);
    ptrPrinter->setFullPage(true);

    QMessageBox::information(this,"StdDrucker:",ptrPrinter->printerName());
Läuft die Exe auf XP, bekomme ich einen leeren Druckernamen angezeigt und der Drucker-Einstellungsdialog...

Code: Alles auswählen

    QPrintDialog pd(ptrPrinter,this);
    pd.exec();
...wird gar nicht geöffnet. Auf Win7 klappt alles wie gewollt.
Das Verhalten habe ich auf mehreren Rechnern beobachten können, und natürlich ist auf jedem PC ein Standarddrucker eingerichtet.

Die Entwicklung mache ich mit Qt5.1.1 und mingGW48_32 auf einem Win7@64bit.
Hat Jemand eine Lösung?

Danke,
Marcel

Re: [gelöst]kein Standarddrucker in XP

Verfasst: 28. Oktober 2013 15:45
von Codiac
Anwerkung:
Problem beseitigt - im App-Verzeichnis muss ein Ordner "printsupport" mit den Dateien "windowsprintersupport.dll" und "windowsprintersupportd.dll" existieren.
Ich hatte nur die erste Datei (ohne "d") dorthin kopiert, was zum beschriebenen Fehler führte.