Prueba con esta funcion de mcn
Yo la utilizo desde el Preview, solo elijo la impresora y listo
debes adaptarla a tu aplicacion con algun ciclo, etc.
parametros
oDevice == > objeto printer
cCbx ==> nombre de la impresora
el nombre de la impresora lo puedes obtener de aGetPrinters() que devuelve un arreglo con todas las impresoras del sistema
// funci贸n para cambiar la impresora desde previo mcn valdenebro
//------------------------------------------------------------------------
func f_CamImpre (oDevice, cCbx )
local cPrinter
cPrinter := GetProfString( "windows", "device" , "" )
WriteProfString( "windows", "device", cCbx )
SysRefresh()
PrinterInit()
DeleteDC( oDevice:hDC ) // Sugestion by Enrico M. Giordano
// Insert here the function to create the report
// oWnd:End() // George - To close current preview
oDevice:hDC := GetPrintDefault( GetActiveWindow() )
SysRefresh()
WriteProfString( "windows", "device", cPrinter )
RETURN nil
Espero que te sirva
Saludos
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl