Hallo!
Gibt es eine Möglichkeit, die Druckeinstellungen des Standarddruckers aufzurufen?
Danke für eure Hilfe!
Druckeinstellungen Topic is solved
Moderator: jNizM
Re: Druckeinstellungen
Mit GetPrinter function kannst du dir die Druckeinstellungen holen.
Würde dir gerne die Funktion in AHK übersetzen, nur ist es Zeit bedingt bei mir ein bisschen mau.
Würde dir gerne die Funktion in AHK übersetzen, nur ist es Zeit bedingt bei mir ein bisschen mau.
[AHK] v2.0.5 | [WIN] 11 Pro (Version 22H2) | [GitHub] Profile
Re: Druckeinstellungen Topic is solved
Moin,
zu welchem Zweck willst Du einen Einstellungsdialog aufrufen?
zu welchem Zweck willst Du einen Einstellungsdialog aufrufen?
Re: Druckeinstellungen
Naja, eigentlich geht es mir darum, dass ich beim Standarddrucker die Papierquelle von "automat. Quellenauswahl" auf "Universalzufuhr" ändern möchte. Wenn das nicht möglich ist, möchte ich mir zumindest ein paar Schritte ersparen und direkt zum Dialog kommen, wo ich die Einstellung selbst ändern kann.just me wrote:Moin,
zu welchem Zweck willst Du einen Einstellungsdialog aufrufen?
Re: Druckeinstellungen
Es ist 'relativ einfach', den Dialog "Seite einrichten" aufzurufen. Es mag aber sein, dass Änderungen in diesem Dialog nur für das aufrufende Programm wirksam sind.
Code: Select all
#NoEnv
Result := PageSetupDlg()
MsgBox, 0, Result, %Result%
ExitApp
; ================================================================================================================================
; Page Setup Dialog Box
; msdn.microsoft.com/en-us/library/windows/desktop/ms646962(v=vs.85).aspx
; ================================================================================================================================
PageSetupDlg() {
Static PSD_DISABLEPRINTER := 0x00000020
, PSD_Size := (4 * 10) + (A_PtrSize * 11)
, OffFlags := 4 * A_PtrSize
VarSetCapacity(PSD, PSD_Size, 0) ; PAGESETUPDLG structure
NumPut(PSD_Size, PSD, 0, "UInt") ; lStructSize
NumPut(A_ScriptHwnd, PSD, A_PtrSize, "UPtr") ; hwndOwner
NumPut(PSD_DISABLEPRINTER, PSD, OffFlags, "Int") ; Flags
If !DllCall("Comdlg32.dll\PageSetupDlg", "Ptr", &PSD, "UInt")
Return False
DllCall("Kernel32.dll\GobalFree", "Ptr", NumGet(PSD, 2 * A_PtrSize, "UPtr"))
DllCall("Kernel32.dll\GobalFree", "Ptr", NumGet(PSD, 3 * A_PtrSize, "UPtr"))
Return True
}
Who is online
Users browsing this forum: No registered users and 61 guests