FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour SetPrintDefault no funciona en Windows 10 (solucionado)
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM

SetPrintDefault no funciona en Windows 10 (solucionado)

Posted: Tue Oct 04, 2016 11:01 AM

Hola amigos, estoy usando la función SetPrintDefault para establecer la impresora por defecto en el sistema. Hasta ahora bien pero con Windows 10 y la última actualización no tiene efecto.
¿Alguna solución?
Gracias,

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM

Re: SetPrintDefault no funciona en Windows 10

Posted: Tue Oct 04, 2016 03:13 PM
Sigo, en server 2008,2012 con usuarios que no son propietarios del ejecutable tampoco. ¿Me huelo un tema de permisos?
El código de SetPrintDefault parece que modifica valores del registro ...

Code (fw): Select all Collapse
function SetPrintDefault( cModel )

   local cDriver := StrToken( GetProfString( "Devices", cModel, "" ), 1, "," )
   local cPort   := StrToken( GetProfString( "Devices", cModel, "" ), 2, "," )

   WriteProfString( "Windows", "Device", cModel + "," + cDriver + "," + cPort )

return nil
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM

Re: SetPrintDefault no funciona en Windows 10

Posted: Tue Oct 04, 2016 03:14 PM
Mira se ayuda:

Code (fw): Select all Collapse
FUNCTION DefaultPrinter()

   LOCAL nPrn, nRet

   /*
   GetPrintDC( GetActiveWindow() )

   SetDefaultPrinter( PRNGETNAME() )
   */

   nRet := PrinterSetUp()

   nPrn := PrnGetName()

   IF( nRet # 0 )

      SetDefaultPrinter( PRNGETNAME() )

      MsgInfo( OemToAnsi( "Aten‡Æo Usu rio:                        " )+CRLF+ ;
               OemToAnsi( "Sua Impressora DEFAULT(PadrÆo) ‚:       " )+CRLF+ ;
                        ( "-> " + nPrn                               ),      ;
               OemToAnsi( "Sua Impressora DEFAULT(PadrÆo) ‚...     " ) )

   ELSE

      MsgInfo( OemToAnsi( "ATEN€ÇO USUµRIO:                         " )+CRLF+ ;
               OemToAnsi( "VERIFIQUE SUA IMPRESSORA SE ESTµ LIGADA. " )+CRLF+ ;
               OemToAnsi( "OU SE ESTµ INSTALADA CORRETAMENTE...     " )+CRLF+ ;
               OemToAnsi( "TEM ALGUMA COISA ERRADA COM A IMPRESSORA?" )+CRLF+ ;
               OemToAnsi( "TECLE <ENTER> PARA CONTINUAR...          " ),      ;
               OemToAnsi( "VERIFIQUE SUA IMPRESSORA SE ESTµ LIGADA. " ) )

      RETURN( .F. )

   ENDIF

RETURN NIL


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM

Re: SetPrintDefault no funciona en Windows 10

Posted: Tue Oct 04, 2016 03:50 PM

Magnífico karinha, sustituyendo SetPrintDefault por SetDefaultPrinter se solucionó.

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4

Continue the discussion