Seite 1 von 2

Druckereigenschaften dauerhaft ändern

Verfasst: 25.02.2012 09:52
von Heinz123
Hallo,

ich suche nach einer Möglichkeit die Dialogbox für die Druckereigenschaften anzuzeigen und Änderungen an den Eigenschaften( z.B Duplex, Papierformat etc.) dauerhaft zu speichern.
D.h Änderungen sollten auch nach einem Neustart wieder gelten.

Ich habe ein Beispiel gefunden (http://www.purebasic.fr/english/viewtopic.php?p=169814), das die Dialogbox der Druckeigenschaften anzeigt - aber Änderungen, die ich da mache, gelten nicht dauerhaft

Danke für etwas Input

Heinz

Re: Druckereigenschaften dauerhaft ändern

Verfasst: 25.02.2012 10:22
von ts-soft
Eigentlich sollte man es über Systemsteuerung Drucker machen :wink:
Ich wüsste jetzt nicht, warum ein Programm das machen sollte, es sei denn, es wäre ein Systemtool, das die
Systemsteuerung ersetzen/ergänzen soll.

Wenn, dann musst Du es in der Registry eintragen. Erstmal den Druckernamen ermitteln und dann diesen Pfad:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\__Druckername__\DsDriver
__Druckername__ durch Druckernamen ersetzen. Für diese Vorgehen benötigst Du Administrator-
rechte. Keys wären z.B. "printMediaReady" oder "printOrientationsSupported".

Registryfunktionen findest Du hier im Forum.

Gruß
Thomas

PS: Crosspostings, also dieselbe Frage in mehreren Foren sind eher unerwünscht. Wenn Du nach mehreren Tagen, keine
zufriedenstellende Antwort bekommen hast, kannst Du auch in einem anderem Forum fragen.

Es liest keiner gerne mehrmals am Tag dieselbe Frage :wink:

Re: Druckereigenschaften dauerhaft ändern

Verfasst: 25.02.2012 15:56
von Nino
ts-soft hat geschrieben:Eigentlich sollte man es über Systemsteuerung Drucker machen :wink:
PB kann einem dabei ein wenig Arbeit abnehmen: :-)

Code: Alles auswählen

RunProgram("control.exe", "printers", "")
Grüße, Nino

Re: Druckereigenschaften dauerhaft ändern

Verfasst: 25.02.2012 16:41
von rolaf
Nino hat geschrieben:
ts-soft hat geschrieben:Eigentlich sollte man es über Systemsteuerung Drucker machen :wink:
PB kann einem dabei ein wenig Arbeit abnehmen: :-)

Code: Alles auswählen

RunProgram("control.exe", "printers", "")
Grüße, Nino
3 Klicks gespart. subba :lol: :wink:

Re: Druckereigenschaften dauerhaft ändern

Verfasst: 25.02.2012 18:23
von Nino
rolaf hat geschrieben:3 Klicks gespart. subba :lol: :wink:
Hast du ne Ahnung ...
Leute die sich nicht gut mit Windows auskennen, haben dadurch evtl. viel Gesuche und 30 Klicks gespart.

Re: Druckereigenschaften dauerhaft ändern

Verfasst: 25.02.2012 18:38
von rolaf
Nino hat geschrieben:Hast du ne Ahnung ...
Leute die sich nicht gut mit Windows auskennen, haben dadurch evtl. viel Gesuche und 30 Klicks gespart.
Darum ja subba :wink: :allright:

Re: Druckereigenschaften dauerhaft ändern

Verfasst: 25.02.2012 18:50
von RSBasic

Code: Alles auswählen

EnableExplicit

Define PrintName$ = "...";Muss natürlich angepasst werden

RunProgram("rundll32.exe","printui.dll,PrintUIEntry /p /n " + Chr(34) + PrintName$ + Chr(34),"")
PS: Den Code habe ich aber nicht getestet, da ich hier keinen Drucker besitze. Es sollte aber funktionieren, um das "Druckereigenschaften"-Fenster aufzurufen.

Re: Druckereigenschaften dauerhaft ändern

Verfasst: 25.02.2012 19:02
von Nino
RSBasic hat geschrieben:PS: Den Code habe ich aber nicht getestet, da ich hier keinen Drucker besitze. Es sollte aber funktionieren, um das "Druckereigenschaften"-Fenster aufzurufen.
Cool. 8)
Funktioniert hier prima unter Windows XP SP3 x86, z.B. mit "PDFCreator" als Drucker.

Danke, Nino

Re: Druckereigenschaften dauerhaft ändern

Verfasst: 25.02.2012 19:06
von RSBasic
Wenn man auch wissen möchte, was für Parameter diese Funktion besitzt, dann kann man testweise im Ausführen-Fenster folgendes eingeben: rundll32.exe printui.dll,PrintUIEntry /?
Da werden dann alle Parameter inklusive Beschreibungen und Beispiele in einem Fenster ausgegeben, falls man mit dieser API noch andere Sachen machen möchte.

Re: Druckereigenschaften dauerhaft ändern

Verfasst: 25.02.2012 19:38
von rolaf
RSBasic hat geschrieben:

Code: Alles auswählen

EnableExplicit

Define PrintName$ = "...";Muss natürlich angepasst werden

RunProgram("rundll32.exe","printui.dll,PrintUIEntry /p /n " + Chr(34) + PrintName$ + Chr(34),"")
PS: Den Code habe ich aber nicht getestet, da ich hier keinen Drucker besitze. Es sollte aber funktionieren, um das "Druckereigenschaften"-Fenster aufzurufen.
Ist ja noch subbara :lol:

Hat hier mit meinem Laserdrucker gefunkt.
Es wird das Eigenschaftenfenster des Druckers geöffnet.