Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

installation de police

1 réponse
Avatar
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=E9pertoire des polices est hasardeuse
(droits).
donc j'ai voulu passer par les api
avec une proc=E9dure de ce genre qui semble fonctionner sur certains
postes mais sur tous.
L'avez vous d=E9j=E0 fait ? cela fonctionne t(il chez vous ?
Auriez vous une id=E9e ?
merci
bond=E9v


PROCEDURE pInstallPolice(sChemin est une cha=EEne, sPolice est une
cha=EEne)
sPoliceInstaller est une cha=EEne =3D sChemin + sPolice

nResultat=3DAPI("GDI32","AddFontResourceA",sPoliceInstaller)
SendMessage(WM_POWERBROADCAST,WM_FONTCHANGE,0,0)

1 réponse

Avatar
Romain PETIT
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