choose case os
case 1, 2
//win9x
ulong cbNeeded, pcReturned, cbBuf
string ls_Name
cbBuf = 1
SetNull(ls_Name)
l_GetPrinter:
blobData = blob(space(cbBuf))
if EnumPrinters(PRINTER_ENUM_DEFAULT, ls_Name, 2, ref blobData, cbBuf, cbNeeded, pcReturned) = 0 then
If cbBuf < cbNeeded Then
cbBuf = cbNeeded
Goto l_GetPrinter
Else
Return ""
End If
function boolean GetDefaultPrinter(ref string PrinterName, ref long dwBufferSize) library "winspool.drv" alias for "GetDefaultPrinterA"
function boolean SetDefaultPrinter(ref string PrinterName) library "winspool.drv" alias for "SetDefaultPrinterA"