DataEase » Support » Knowledge Base » DataEase 7.2 Articles » How to get and set the default printer automatically

With DataEase you can get the default printer name and also set a default printer automatically as following:

Step 1:
Create following CDFs:

1- Function Name: GetDefaultPrinterA
CDF Library Name: Winspool.drv
Return Type: Long
Parameters:
1.Name: prtNameBuffer Type: Long
2.Name: prtNameSizeBuffer Type: Long

2- Function Name: SetDefaultPrinterA
CDF Library Name: Winspool.drv
Return Type: Long
Parameters
1.Name: prtName Type: String

3- Function Name: RecordSave
CDF Library Name: dfwacts.dll
Return Type: Int

After creating those CDFs, please close the application and reopen it again (to register the CDFs).

Step 2:
Create a new form with one field.
Form name: GetDefaultPrinter.
Field name: ‘DefaultPrinterName’ data-type: Text 255, Prevent Entry

Create a button with caption “Click Here to Get the Default Printer Name”.
Right-click the button and select OML from the pop-up menu and type the
following:

define “BufName” text 49 .
define “BufLen” text 4 .
define “prtName” number .
define “prtLen” number .
define “retval” number .

BufName := “1234567890123456789012345678901234567890123456789″ .
Buflen := “1″ . — Ascii 49

prtName := addressof(BufName) .
prtLen := addressof(BufLen) .

retval := GetDefaultPrinterA( prtName, prtLen ) .
DefaultPrinterName.Value := BufName .
retval := RecordSave () .

Now save the form and return to the User View (or press F4). In the user view click the button to get your default printer name and place it into the field.

Step 3:
Create a new form with one field:
Form name: SetDefaultPrinter
Field name: “PrinterName” , data-type: text and length 255

Create a button with caption “Type the Printer Name You want to set. Click this button to set the Default Printer”. Right-click the button and select OML from the pop-up menu and type the following:

define “retval” number .

retval := RecordSave () .

retval := SetDefaultPrinterA (PrinterName.Value) .

Now save the form and return to the User View (or press F4). In the user view enter the printer name exactly as it appears under control panel >> Printers and Faxes.