Comment installer des fonts en vb.net ? [Résolu]

Messages postés
262
Date d'inscription
mardi 26 février 2002
Dernière intervention
27 février 2012
- - Dernière réponse : cs_fabiano13
Messages postés
262
Date d'inscription
mardi 26 février 2002
Dernière intervention
27 février 2012
- 20 janv. 2011 à 21:05
Bonsoir,

Comment installer des fonts en vb.net ?

D'avance merci,
Fabiano
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
3
Merci
Code exemple donné dans MSDN :
Imports System.Runtime.InteropServices  
 
Public Class Form1  
 
    <DllImport("gdi32")> _  
    Public Shared Function AddFontResource(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 
 
    <DllImport("kernel32.dll", SetLastError:=True)> _  
Shared Function WriteProfileString(ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Integer 
    End Function 
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load  
        Dim Ret As Integer 
        Dim Res As Integer 
        Dim FontPath As String 
        Const WM_FONTCHANGE As Integer = &H1D  
        Const HWND_BROADCAST As Integer = &HFFFF  
        FontPath = WinFontDir & "" & FontFileName  
        Ret = AddFontResource(FontPath)  
        Res = SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0)  
        Ret = WriteProfileString("fonts", FontName & " (TrueType)", FontFileName)  
    End Sub 
 
End Class 


Ce code
- installe la police (AddFontResource, ou AddFontResourceEx pour plus d'options) qui n'est valable (pour le moment) que pour l'application et la session en cours.
- informe les autres applications (SendMessage) qu'un changement dans les polices a eu lieu
- enregistre dans le registre (WriteProfileString) pour qu'elle soit toujours disponible après le reboot et pour les autres sessions.

LE fichier font devra, au préalable, être copié dans le dossier font de Windows, représenté dans le code par la variable WinFontDir (nécessite une élévation de privilège sous W7, je crois).
Avec uniquement une simple copie du fichier dans le dossier font, la police ne sera disponible qu'après un reboot de la machine.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_casy
Messages postés
262
Date d'inscription
mardi 26 février 2002
Dernière intervention
27 février 2012
0
Merci
Merci mille fois.

A bientôt.
Fabiano
Commenter la réponse de cs_fabiano13

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.