Seit vielen Wochen bin ich auf der Suche nach einem Code nach den beiden Funktionen. Leider bislang ohne Erfolg.
Dann passierte es dennoch... Durch einen Abstecher nach C++ (nicht von mir, danke STI!! ) hat er diesen Code zusammengebastelt... und es funktioniert:
Code: Alles auswählen
; Code: www.tollsoft.de
Procedure.s getdefaultprinter()
If OpenLibrary(1,"winspool.drv")
printer_n$=Space(255)
printbuff=255
res=CallFunction(1,"GetDefaultPrinterA",@printer_n$,@printbuff)
CloseLibrary(1)
EndIf
ProcedureReturn printer_n$
EndProcedure
Procedure setdefaultprinter(ausgabegeraet$)
If OpenLibrary(1,"winspool.drv")
res=CallFunction(1,"SetDefaultPrinterA",@ausgabegeraet$)
CloseLibrary(1)
EndIf
If res
ProcedureReturn "OK"
Else
ProcedureReturn "NOK"
EndIf
EndProcedure
MessageRequester("Aktueller Standard-Drucker",getdefaultprinter())
setdefaultprinter("Ein Drucker aus den Systemeinstellungen")
MessageRequester("Aktueller Standard-Drucker",getdefaultprinter())
Der Code wäre bestimmt auch etwas für das Code-Archiv.
Im Code-Archiv ist ebenfalls eine kleine "win.ini"-basierte Methode um den Standard-Drucker zu setzen/auszulesen...
Bis dahin,
Lars