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

cs_fabiano13 262 Messages postés mardi 26 février 2002Date d'inscription 27 février 2012 Dernière intervention - 20 janv. 2011 à 19:54 - Dernière réponse : cs_fabiano13 262 Messages postés mardi 26 février 2002Date d'inscription 27 février 2012 Dernière intervention
- 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
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 20 janv. 2011 à 20:56
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

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_casy
cs_fabiano13 262 Messages postés mardi 26 février 2002Date d'inscription 27 février 2012 Dernière intervention - 20 janv. 2011 à 21:05
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.