Standartdrucker bei winXP



  • Hi,
    Ich wollte mal fragen wie ich denn Standartdrucker bei WinXp raus bekomme.
    Als Standartdrucker habe ich einen Lexmark und dann habe ich noch denn Microsoft Office Document Image Writer. Und anstat den Lexmark bekomme ich immer den von Microsoft zurück. Bei win98 kann man ja PRINTER_ENUM_DEFAULT nehmen aber nicht bei winxp! Jetzt nutze ich PRINTER_ENUM_LOCAL oder _NAME!
    Hier ein Codeausschnitt:

    EnumPrinters(PRINTER_ENUM_LOCAL, NULL, 5, NULL, 0, &dwNeeded, &dwReturned);
    pinfo = malloc(dwNeeded);
    EnumPrinters(PRINTER_ENUM_LOCAL, NULL, 5, (PBYTE)pinfo, dwNeeded, &dwNeeded, &dwReturned);
    hdc = CreateDC(NULL, pinfo->pPrinterName, NULL, NULL);
    ...
    

    Ich hoffe ihr könnt mir helfen.
    MfG schirrmie



  • PRINTER_ENUM_CONNECTIONS

    könnte helfen??

    Schaue besser nochmal in der MSDN.

    PS: wenn ihr alle mal beim geliebten "nicht"-NT Systemen bleiben würdet, könnte ich besser helfen (bin Verheiratet mit 98se, da sie mich selten in Stich lässt, XP hatte bei mir nach 4 Stunden bereits meine DVD-Laufwerke rausgeschmissen)



  • Nein das ist es leider auch nicht. Ich habe schon alle anderen möglichkeiten versucht ohne erfolg. Wenn ich denn Namen expliziert eingebe

    hdc = CreateDC(NULL, "Lexmark ..", NULL, NULL);
    

    geht es auch. Naja ich hoffe ihr könnt mir noch helfen!
    MfG schirrmie



  • Ab Windows 2000 gibt es die Funktion GetDefaultPrinter()



  • Danke habe noch was anderes gefunden was funktioniert aber werde deins trotzdem noch mal probieren.
    Wenn es interessiert.

    GetProfileString("windows", "device", "", buffer, sizeof(buffer));
    

    MfG schirrmie


Anmelden zum Antworten