Standarddrucker in Windows 10 per Script ändern

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Standarddrucker in Windows 10 per Script ändern

Post by Boss55 » 26 May 2023, 06:35

Hallo Community !

Gibt es eine einfache Möglichkeit, den Standarddrucker unter Windows 10 mit einem Script zu änderm ?

Eventuelle Antworten bitte für Dummies erstellen, habt Nachsicht mit dem Old Man, der in der Scriptwelt nicht wirklich zu Hause ist.

Vielen Dank im Voraus.

bye
Last edited by gregster on 26 May 2023, 06:39, edited 1 time in total.
Reason: Topic wurde von 'Ask for Help (2)' ins deutschsprachige Hilfe-Forum verschoben. In den englischsprachigen Foren bitte auch Englisch verwenden!

KHA
Posts: 401
Joined: 21 Aug 2018, 11:11

Re: Standarddrucker in Windows 10 per Script ändern

Post by KHA » 26 May 2023, 12:00

Probier mal damit:

Code: Select all

SetDefaultPrinter("Microsoft Print to PDF")


SetDefaultPrinter(Printer := 0) {
	return DllCall("Winspool.drv\SetDefaultPrinterW", "Ptr", &Printer, "Int")
} ;https://msdn.microsoft.com/en-us/library/windows/desktop/dd162971(v=vs.85).aspx

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Re: Standarddrucker in Windows 10 per Script ändern

Post by Boss55 » 27 May 2023, 08:03

Hallo !

Vielen Dank für den Code, der perfekt funktioniert.

Aber so kennt man die alten Leute, reichst du ihnen den kleinen Finger, grabbschen sie nach der ganzen Hand und deswegen kommt ein weiteres Anliegen.

Könnte man das Script so erweitern, das es ein Auswahlmenü anzeigt, in dem man zwischen zwei Druckern wählen kann ?

Ich weiss, das AHK über entsprechenden Funktionen verfügt, bin aber ansonsten absolut lost.

bye

garry
Posts: 3737
Joined: 22 Dec 2013, 12:50

Re: Standarddrucker in Windows 10 per Script ändern

Post by garry » 27 May 2023, 13:51

hier kann man noch auswählen welches default ...

Code: Select all

run,shell:PrintersFolder   ;- show printers
run,control printers                 ;- with rightclick change as default printer
;run,rundll32 printui.dll`,PrintUIEntry /y /n "Pantum M6600NW Series"  ;- set default
return

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Re: Standarddrucker in Windows 10 per Script ändern

Post by Boss55 » 28 May 2023, 08:05

Hallo gary !

Vielen Dank für die Antwort, aber alte Leute sind halt mit nix zufrieden. ;)
Meine Vorstellung ging in folgende Ricbtung
Ein Auswahlmenü mit den Eintägen
1 Canon TS8300 series
2 PDFCreator
Abrechen

Nach einer Auswahl eine Kurz aufpoppende Messagebox die den eingestellten Standarddrucker anzeigt und sich selbst wieder schliesst.

Bei den Druckern handelt es sich um die bevorzugt genutzten Geräte.

Und wenn jetzt jemand sagt/denkt, der alte Zausel soll sich mit de, was er bekommen hat zufrieden geben und uns nicht länger auf den Zeiger gehen, hätte ich dafür vollstes Verständnis. :mrgreen:

bye

garry
Posts: 3737
Joined: 22 Dec 2013, 12:50

Re: Standarddrucker in Windows 10 per Script ändern

Post by garry » 28 May 2023, 10:46

Example-1 , GUI
( note: replace pantum with your printer , like > Canon ;Canon TS8300 series )

Code: Select all

#Warn
setworkingdir,%a_scriptdir%
FormatTime,US_en,L0x0409,MMMM  ;- month english
;-
e1x=
(Ltrim join|
PANTUM                              ;Pantum M6600NW Series
PDF                                 ;Microsoft Print to PDF
)
;--
Gui,2: New
Gui,2: Color,Gray
Gui,2: Font, s20 cYellow Bold,Lucida Console
;---------------------------------
Gui,2:Add,Progress, x10 y20 w300 h30 Disabled Background0xD4D0C8
Gui,2:Add,Text,     xp   yp   wp   hp  cBlack  BackgroundTrans Center 0x200,Select PRINTER:
Gui,2: Add, DropDownList, x10 y60  w300 h500 vDDL1,%e1x%
;--  a color button :
Gui,2:Add,Progress, x10 y200 w120 h40 Disabled BackgroundRed
Gui,2:Add,Text,     xp   yp   wp   hp  cYellow  BackgroundTrans Center 0x200 gA1,START
;-
Gui,2: Show,x100 y100 w350 h270,Select Printer - %us_en%
;-
;GuiControl,2: Choose,DDL1,1
GuiControl,2: Choosestring,DDL1,PDF
Return
;-----------
2Guiclose:
Exitapp
;-----------
A1:
Gui,2: Submit,nohide
k2:=""
stringsplit,k,ddl1,`;
try
  run,rundll32 printui.dll`,PrintUIEntry /y /n "%k2%"
;-  
;--- for test :  
msgbox, 262208,TEST ,%k1%`n%k2%,3   ;- show for 3 seconds  
;-
run,shell:PrintersFolder   ;- show printer and with rightclick change as default printer
run,control printers
return
;=========================================================================
Example-2 , menu / use F9 to select printer

Code: Select all

var =
(
Pantum M6600NW Series
Microsoft Print to PDF
--Escape
)
$F9::
for x,y in strsplit(var,"`n","`r")
	Menu, scripts, Add, %y%, Execute
Menu, scripts, Show
return
execute:
aa:=a_ThisMenuItem
if (aa="--Escape")
  return
try
  run,rundll32 printui.dll`,PrintUIEntry /y /n "%aa%"
;--- for test :  
msgbox, 262208,TEST ,%aa%,3   ;- show for 3 seconds  
run,shell:PrintersFolder   ;- show printer and with rightclick change as default printer
run,control printers
return
esc::exitapp


Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Re: Standarddrucker in Windows 10 per Script ändern

Post by Boss55 » 29 May 2023, 11:23

Hallo !

Beide Varianten funktionieren nach ein paar Anpassungen sehr gut, wobei mir
Version 2 besonders gut gefällt.

Allen die geholfen haben nochmals meinen besten Dank, ist ein Super Forum hier mit coolen Leuten.

bye

Post Reply

Return to “Ich brauche Hilfe”