INSTALAR FONTE TTF VIA CODIGO

MFLAVIO 06/07/2013 10:22:26
#425655
Ola gente eu aqui novamente com duvidas

seu fiz uma atualização no meu sistema e agora preciso instalar uma fonte de código de barras no pc dos clientes, e gostaria de fazer isso via código, já pesquisei e não achei nada que me ajude, então caso algum dos colegas saibam como ou onde acho que me ajude a instalar fontes ttf via código, eu agradeço
ALEVALE 08/07/2013 08:09:05
#425695
Na realidade eu acho que você [Ô]não[Ô] precisa instalar o que você deve fazer é [Ô]copiar[Ô] as fontes do local de [Ô]origem[Ô] para o diretório do Windows de [Ô]fontes[Ô]. (C:\Windows\Fonts)
MFLAVIO 08/07/2013 09:09:44
#425702
Citação:

:
Na realidade eu acho que você [Ô]não[Ô] precisa instalar o que você deve fazer é [Ô]copiar[Ô] as fontes do local de [Ô]origem[Ô] para o diretório do Windows de [Ô]fontes[Ô]. (C:WindowsFonts)


eu fiz isso mais a fonte não aparece na lista de fontes instaladas
ALEVALE 08/07/2013 12:08:58
#425709
Aonde é que você vai usar essa fonte ?

Tenta dar uma olhada nesses sites:
http://social.msdn.microsoft.com/Forums/vstudio/en-US/b83d799d-534f-4888-b114-de83e7735204/installing-fonts-via-vbnet
http://brutaldev.com/post/2009/03/26/Installing-and-removing-fonts-using-C
ALEVALE 08/07/2013 14:37:03
#425714
Testei esse código aqui e funcionou perfeitamente dê uma olhada só aconselho que você copie antes a fonte para o diretório de instalação do Windows (C:\Windows\Fonts)

Public Class Form1
Private Const HWND_BROADCAST = &HFFFF&
Private Const WM_FONTCHANGE = &H1D

<DllImport([Ô]gdi32.dll[Ô], EntryPoint:=[Ô]AddFontResourceW[Ô], SetLastError:=True)> _
Public Shared Function AddFontResource(<[In]()> <MarshalAs(UnmanagedType.LPWStr)> ByVal lpFileName As String) As Integer
End Function

<DllImport([Ô]user32.dll[Ô])> _
Public Shared Function SendMessage(ByVal hWnd As Integer, ByVal Msg As UInteger, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
End Function

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim res As Long
res = AddFontResource([Ô]C:\BarcodeFont.ttf[Ô])
If res > 0 Then
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0)
MsgBox(res & [Ô] fonts were added![Ô])
End
End If

End Sub
End Class
OCELOT 08/07/2013 15:05:50
#425715
Único detalhe ai é que o AddFontResource só mantém a fonte durante a sessão atual, se fozer logoff ou reiniciar o PC a fonte não vai mais estar disponível, precisando executar novamente o AddFontResource
Tópico encerrado , respostas não são mais permitidas