call "PC_PRINTER_SET_DEFAULT" using by value default-option
by reference default-struct
returning status-code
01 cblt-printer-default typedef.
03 cblte-pd-printer-name.
05 cblte-pd-printer-name-length cblt-x2-comp5. *> pic x(2) comp-5.
05 cblte-pd-printer-name cblt-x1. *> Occurs depending on
*> cblte-pd-printer-name-length.
*> pic x (printer name length)
03 cblte-pd-printer-browse REDEFINES cblte-pd-printer-name.
05 cblte-pd-printer-browse-hwnd cblt-HWND. *> pic x(4) comp-5.
05 cblte-pd-printer-browse-namelen cblt-x2-comp5. *> pic x(2) comp-5.
05 cblte-pd-reserved cblt-x2-comp5. *> pic x(2) comp-5.
05 cblte-pd-printer-browse-name cblt-x1. *> Occurs depending on
*> cblte-pd-printer-browse-namelen.
*> pic x (printer name length)
| 1 | Sets the default printer to be used |
| 2 | Browses for a default printer. |
Example 1:
The following example shows how to use PC_PRINTER_SET_DEFAULT to set the default printer.
working-storage section.
01 MyDocumentInfo.
03 filename.
05 len pic x(2) comp-5.
05 body pic x(128).
03 document.
05 len pic x(2) comp-5.
05 body pic x(128).
03 document-flags pic x(4) comp-5.
03 window-hwnd pic x(4) comp-5.
01 Printer-RetCode pic 9(4) comp-5.
78 USE-OPEN-DIALOG value 1.
78 USE-FONT-DIALOG value 2.
78 USE-FORCE-PORTRAIT value 4.
78 USE-FORCE-LANDSCAPE value 8.
78 USE-PROGRESS-DIALOG value 16.
01 default-info.
03 option pic x(4) comp-5.
03 ourprinter.
05 len pic x(2) comp-5.
05 body pic x(128).
78 SET-DEFAULT-PRINTER value h"0001".
procedure division.
move "My Color PS"
to body of ourprinter of default-info
move 11 to len of ourprinter of default-info
move SET-DEFAULT-PRINTER to option of default-info
call "PC_PRINTER_SET_DEFAULT" using
by value option of default-info,
by reference ourprinter of default-info
returning Printer-RetCode
end-call
if Printer-RetCode not equal zero
display "Unable to setup a default printer"
display " + Retcode = " Printer-RetCode
stop run
end-if
move "c:\config.sys" to body of filename
move 13 to len of filename
move "My Config.sys" to body of document
move 13 to len of document
move USE-PROGRESS-DIALOG to document-flags
move zero to window-hwnd
call "PC_PRINT_FILE" using by reference filename
by reference document
by value document-flags
by value window-hwnd
returning Printer-RetCode
end-call
if Printer-RetCode not equal zero
display "PC_PRINT_FILE failed.. " Printer-RetCode
else
display "PC_PRINT_FILE: OK"
end-if
.
Example 2:
The following example shows how to use PC_PRINTER_SET_DEFAULT to browse for a printer.
working-storage section.
01 MyDocumentInfo.
03 filename.
05 len pic x(2) comp-5.
05 body pic x(128).
03 document.
05 len pic x(2) comp-5.
05 body pic x(128).
03 document-flags pic x(4) comp-5.
03 window-handle pic x(4) comp-5.
01 MyDefaultPrinter.
03 hwnd pic x(4) comp-5.
03 len pic x(2) comp-5.
03 reserved pic x(2) comp-5.
03 body pic x(128).
01 Printer-RetCode pic 9(4) comp-5.
78 USE-OPEN-DIALOG value 1.
78 USE-FONT-DIALOG value 2.
78 USE-FORCE-PORTRAIT value 4.
78 USE-FORCE-LANDSCAPE value 8.
78 USE-PROGRESS-DIALOG value 16.
01 default-info.
03 option pic x(4) comp-5.
03 ourprinter.
05 len pic x(2) comp-5.
05 body pic x(128).
78 SET-DEFAULT-PRINTER value h"0001".
78 BROWSE-DEFAULT-PRINTER value h"0002".
procedure division.
move BROWSE-DEFAULT-PRINTER to option of default-info
move 0 to hwnd of MyDefaultPrinter
move 127 to len of MyDefaultPrinter
call "PC_PRINTER_SET_DEFAULT" using
by value option of default-info
by reference MyDefaultPrinter
returning Printer-RetCode
end-call
if Printer-RetCode not equal zero
display "Unable to browse for a default printer"
display " + Retcode = " Printer-RetCode
stop run
end-if
display "Browse Printer : "
body of MyDefaultPrinter(1:len of MyDefaultPrinter)
move SET-DEFAULT-PRINTER to option of default-info
move len of MyDefaultPrinter to len of ourprinter
move body of MyDefaultPrinter(1:len of MyDefaultPrinter)
to body of ourprinter
call "PC_PRINTER_SET_DEFAULT" using
by value option of default-info
by reference ourprinter of default-info
returning Printer-RetCode
end-call
if Printer-RetCode not equal zero
display "Unable to set a default printer"
display " + Retcode = " Printer-RetCode
stop run
end-if
move "c:\config.sys" to body of filename
move 13 to len of filename
move "My Config.sys" to body of document
move 13 to len of document
move USE-PROGRESS-DIALOG to document-flags
move zero to window-handle
call "PC_PRINT_FILE" using by reference filename
by reference document
by value document-flags
by value window-handle
returning Printer-RetCode
end-call
if Printer-RetCode not equal zero
display "PC_PRINT_FILE failed.. " Printer-RetCode
else
display "PC_PRINT_FILE: OK"
end-if.
Comments:
If you set default-option to 2, this function returns the user-selected printer but does not set it as the default printer.
The printer name must be entered as UNC format (that is, the device's full name as it appears on the network).