installation de police

Le
ground
bonjour

je voudrais livrer une police avec un setup et l'installer sur le
poste du client automatiquement

la copie pure et simple dans le répertoire des polices est hasardeuse
(droits).
donc j'ai voulu passer par les api
avec une procédure de ce genre qui semble fonctionner sur certains
postes mais sur tous.
L'avez vous déjà fait ? cela fonctionne t(il chez vous ?
Auriez vous une idée ?
merci
bondév


PROCEDURE pInstallPolice(sChemin est une chaîne, sPolice est une
chaîne)
sPoliceInstaller est une chaîne = sChemin + sPolice

nResultat=API("GDI32","AddFontResourceA",sPoliceInstaller)
SendMessage(WM_POWERBROADCAST,WM_FONTCHANGE,0,0)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Romain PETIT
Le #21428101
ground a formulé ce mardi :
bonjour

je voudrais livrer une police avec un setup et l'installer sur le
poste du client automatiquement
la copie pure et simple dans le répertoire des polices est hasardeuse
(droits).
donc j'ai voulu passer par les api
avec une procédure de ce genre qui semble fonctionner sur certains
postes mais sur tous.
L'avez vous déjà fait ? cela fonctionne t(il chez vous ?
Auriez vous une idée ?

PROCEDURE pInstallPolice(sChemin est une chaîne, sPolice est une
chaîne)
sPoliceInstaller est une chaîne = sChemin + sPolice
nResultat=API("GDI32","AddFontResourceA",sPoliceInstaller)
SendMessage(WM_POWERBROADCAST,WM_FONTCHANGE,0,0)




Tu as une erreur sur le 1er param de SendMessage, c'est HWND_BROADCAST
qu'il faut transmettre.
HWND_BROADCAST = 0xFFFF
WM_FONTCHANGE = 0x1D

De plus,

http://msdn.microsoft.com/en-us/library/dd183326%28VS.85%29.aspx

When an application no longer needs a font resource that it loaded by
calling the AddFontResource function, it must remove that resource by
calling the RemoveFontResource function.

This function installs the font only for the current session. When the
system restarts, the font will not be present. To have the font
installed even after restarting the system, the font must be listed in
the registry.

--> l'ajout de la police n'est pas persistent, pour cela il faut
enregistrer la police dans
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFonts

A+

--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Publicité
Poster une réponse
Anonyme