Clipper On Line • Ver Tópico - Instalar Fontes no Windows 7 de 32 bits
Mudar para estilo Clássico
Discussão sobre a biblioteca Fivewin - O Clipper para Windows.
Postar uma resposta

Instalar Fontes no Windows 7 de 32 bits

22 Jan 2015 10:39

Bom dia Senhores, o que estou fazendo mal? Não está instalando a Fonte no windows 7 de 32 bits.

Código:
#Include "FiveWin.ch"

FUNCTION Main ()

   INSTFONTS()

RETURN NIL

FUNCTION INSTFONTS()

   Local lInstala := .F.

   IF .NOT. MsgYesNo( "Instalar Fontes da NF-e no Windows?", ;
                      "Instalar Fontes da NF-e no Windows " )

      RETURN NIL

   ENDIF

   IF FILE( "C:\INST_NFE\GERAPNFE.EXE" ) .OR. ;
      FILE( "C:\INST_NFE\GERAONFE.EXE" ) .OR. ;
      FILE( "C:\INST_NFE\GERANFE.EXE" ) // PLENOIND

      lInstala := .T.

   ENDIF

   IF lInstala

      CopyFile( "C:\INST_NFE\fontes\Code128bWin.ttf", GetWinDir() + "\Fonts\Code128bWin.ttf", .T. )

      AddFontResource( "C:\INST_NFE\fontes\Code128bWin.ttf" )

      IF FILE( GetWinDir() + "\Fonts\Code128bWin.ttf" )

         MSGWAIT( "As Fontes da NF-e Foram Instalados Com Sucesso..." )

      ELSE

         MSGWAIT( "As Fontes da NF-e Nao Foram Instaladas..." )

         lInstala := .F.

      ENDIF   

   ENDIF   

RETURN NIL

// FIM


Obg. abs.

Instalar Fontes no Windows 7 de 32 bits

22 Jan 2015 16:54

Resolvido:

Alessandro, você é o cara!! Muito obrigado, funciona em windows 7, 8 e 10, nestes 2 últimos, testado pelo Alessandro.

Código:
#Include "FiveWin.ch"
#include "Directry.ch"

#ifndef XPP
   #define  HKEY_CLASSES_ROOT       2147483648
   #define  HKEY_CURRENT_USER       2147483649
   #define  HKEY_LOCAL_MACHINE      2147483650
   #define  HKEY_USERS              2147483651
   #define  HKEY_PERFORMANCE_DATA   2147483652
   #define  HKEY_CURRENT_CONFIG     2147483653
   #define  HKEY_DYN_DATA           2147483654
#else
   #define  HKEY_CLASSES_ROOT       1
   #define  HKEY_CURRENT_USER       2
   #define  HKEY_LOCAL_MACHINE      3
   #define  HKEY_USERS              4
   #define  HKEY_PERFORMANCE_DATA   5
   #define  HKEY_CURRENT_CONFIG     6
   #define  HKEY_DYN_DATA           7
#endif

FUNCTION AddFonte()

  INSTFONTS()

RETURN NIL

FUNCTION INSTFONTS()

   Local lInstala := .F.

   IF .NOT. MsgYesNo( "Instalar Fontes da NF-e no Windows?", ;
                      "Instalar Fontes da NF-e no Windows " )

      RETURN NIL

   ENDIF

   IF FILE( "C:\INST_NFE\GERAPNFE.EXE" ) .OR. ;
      FILE( "C:\INST_NFE\GERAONFE.EXE" ) .OR. ;
      FILE( "C:\INST_NFE\GERANFE.EXE" ) // PLENOIND

      lInstala := .T.

   ENDIF

   IF lInstala

      IF .NOT. FILE( GetWinDir() + "\Fonts\Code128bWin.ttf" )

         // Desligando o UAC do Windows.
         oReg := TReg32():Create( HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" )
         oReg:Set( "EnableLUA", 0 )
         oReg:Close()

         // Assim, o windows explorer mostra as fontes
         LZCOPYFILE( "C:\INST_NFE\fontes\Code128bWin.ttf", GetWindir() + "\fonts\Code128bWin.ttf")

         AddFontResource( "C:\INST_NFE\fontes\Code128bWin.ttf" )

         LZCOPYFILE( "C:\INST_NFE\fontes\Code128bWinLarge.ttf", GetWindir() + "\fonts\Code128bWinLarge.ttf")

         AddFontResource( "C:\INST_NFE\fontes\Code128bWinLarge.ttf" )

         oReg := TReg32():Create( HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" )
         oReg:Set( "EnableLUA", 1 )
         oReg:Close()

      ELSE

         /*
         oReg := TReg32():Create( HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" )

         // Isto nao funcionou em Windows 7 32 bits.
         IF oReg:Get( "EnableLUA" ) == 0
            oReg:Set( "EnableLUA", 1 )
         ENDIF

         oReg:Close()
         */

      ENDIF

      IF FILE( GetWinDir() + "\Fonts\Code128bWin.ttf" )

         MsgWait( "As Fontes da NF-e Foram Instalados Com Sucesso..." )

      ELSE

         MsgWait( "As Fontes da NF-e Nao Foram Instaladas..." )

         MsgInfo( "Desligue o Controle de Usuarios do Windows(UAC)", ;
                  "Desligue o Controle de Usuarios do Windows(UAC)" )

         lInstala := .F.

      ENDIF

   ELSE

      MsgWait( "As Fontes da NF-e Nao Foram Instaladas..." )

      MsgInfo( "PROGRAMA DA NOTA FISCAL NAO LOCALIZADO...", ;
               "PROGRAMA DA NOTA FISCAL NAO LOCALIZADO..." )

      lInstala := .F.

   ENDIF

   lInstala := .F.

RETURN NIL

// Funções AddFontResource e RemoveFontResource, em linguagem C

#pragma BEGINDUMP

#include <windows.h>
#include <hbapi.h>

HB_FUNC ( ADDFONTRESOURCE )
{
    hb_retni( AddFontResource( (LPCSTR) hb_parc(1) ) );
}

HB_FUNC ( REMOVEFONTRESOURCE )
{
    hb_retl( RemoveFontResource( (LPCSTR) hb_parc(1) ) );
}

#pragma ENDDUMP

// FIM


I LOVE FIVEWIN!

Instalar Fontes no Windows 7 de 32 bits

18 Mai 2016 18:24

Algumas dúvidas...

No caso da sua postagem ao instalar uma fonte vc DESATIVA o UAC q imagino ficar então a partir disto desativado... agora a dúvida é... fazendo isso teu sistema passa a rodar como Administrador ou nada ver?

Pergunto pq tem um outro tópico q vi q vc tb participou sobre como rodar o aplicativo como Administrador...

Então fiquei na dúvida sobre rodar como Administrador e desativar o UAC se são necessários os 2 procedimentos ou se 1 seria semelhante ao outro..

Tb fiquei na dúvida se deve ser colocado no inicio do sistema, digamos após o Main() e depois vem normal e fazendo isso se precisa reiniciar ou se já no inicio do sistema já resolve e o sistema já roda como Administrador...

[]´s

Instalar Fontes no Windows 7 de 32 bits

19 Mai 2016 09:57

Bom dia Fladimir, porfa fale com o Rochinha, ele tem uma solução mais nova que esta. Abs.

Instalar Fontes no Windows 7 de 32 bits

19 Mai 2016 19:13

grato João.

Instalar Fontes no Windows 7 de 32 bits

21 Mai 2016 17:44

Amiguinhos,

fladimir
Veja se ajuda.
Anexos
fontinst.rar
(76.27 KiB) Baixado 100 vezes

Instalar Fontes no Windows 7 de 32 bits

02 Jun 2016 16:45

Uma boa idéia, não testei:

Código:
#include "FiveWin.ch"

FUNCTION INSTFONTS()

   Local lDescarga:=.F.

   IF FILE("fontinst.inf")
      ERASE fontinst.inf
   ENDIF

   IF !MSGYESNO("Instalar Codigos de barras", "Instalar Codigos de barras")
      RETURN NIL
   ENDIF

   IF !FILE("fontinst.exe")
      lDescarga:=.T.
   ENDIF

   IF !FILE("Bar128ct.ttf")
      lDescarga:=.T.
   ENDIF

   IF lDescarga
      UPLOADFONTS()
   ENDIF

   XMENSCEN("[fonts]")

   LZCOPYFILE( Curdrive()+ ":\" + Curdir() + "\Bar128ct.ttf", GetWindir()+"\fonts\Bar128ct.ttf" )

   xmenscen("Bar128ct.ttf")

   WINEXEC("fontinst.exe /f fontinst.inf")

   MSGWAIT("Fontes Instaladas")

RETURN NIL

FUNCTION XMENSCEN(cText)

   Local cFile:="fontinst.inf"
   Local oText

   oText := TTxtFile():New(cFile)

   if oText:Open()
      oText :Add( cText )
      oText :Close()
   endif

RETURN NIL

FUNCTION UPLOADFONTS()

   Local oText,i
   Local n:=0

   IF FILE("UPLOADB.TXT")
        ERASE  UPLOADB.TXT
   ENDIF

   oText:= TTxtFile():New("UPLOADB.TXT" )

   if oText:Open()

      oText :Add("OPEN 999.999.999.999") //ftp de los fuentes
      oText :Add("software")
      oText :Add("1234567890" )
      oText :Add("PROMPT OFF" )

      oText :Add("BIN" )
      oText :Add("HASH" )
      oText :Add("MGET Bar128ct.ttf")
      oText :Add("MGET fontinst.exe" )
      oText :Add("QUIT" )
      oText:Close()

   endif

   IF FILE("UPLOADB.TXT")
      WAITRUN("FTP -s:UPLOADB.TXT")
   ENDIF

   ERASE UPLOADB.TXT

   MSGWAIT("Fontes Baixadas", "Descarga OK")

Return .T.

// FIM


Postar uma resposta