Installer une police

Résolu
cs_youyou40
Messages postés
65
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
28 avril 2022
- 5 avril 2007 à 19:15
cs_youyou40
Messages postés
65
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
28 avril 2022
- 7 avril 2007 à 16:05
Bonjour à tous

Voilà mon problème.
Je voudrais installer une police à l'aide de lignes de code VB6.
J'ai trouvé sur le forum plusieurs sources utilisant les APIs   AddFontRessource("nom_police.ttf")  et SendMessage(hwnd_broacast, wm_fontchange, 0, 0) mais la police n'est pas vraiment installée dans Windows (je l'ai bien sûr copiée auparavant dans le répertoire Fonts de Windows avec un CopyFile )  : elle est fonctionnelle mais seulement jusqu'à l'arrêt de Windows et si je teste les polices installées avec Screen.Fonts , elle n'en fait pas partie.
Au redémarrage elle ne peut plus être utilisée.

Quelqu'un aurait-il la solution pour installer réellement une police dans Windows , sans que l'utilisateur ne soit obligé d'ouvrir manuellement le dossier Fonts ?

Merci d'avance et de toutes façons, merci pour ce site et ce forum très instructifs ....

6 réponses

jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
6 avril 2007 à 22:13
Bonsoir,

Heureux que tu aies constaté qu'il était important d'écrire dans cette clé !

Peiné de voir que tu n'aies pas encore trouvé comment déterminer la version de l'OS !

Je t'invite donc à t'intéresser maintenant à la fonction GetVersionEx de la lubrairie Kernel32 de l'Api de Windows, juste pour voir à quoi elle pourrait te servir, dans cette affaire ...
Ce ne sera pas difficile si tu t'y penches un peu et je compte sur toi pour y parvenir.
Il te restera ensuite à écrire dynamiquement dans la bonne clé et les exemples et sources pour ce faire ne manquent pas sur ce forum.

NOTA : s'il subsiste un doute sur la partie du nom qui correspond, dans le chemin de la clé, à la version Windows de la machine client : un truc : tester si cette clé existe et contient bien déjà des fonts avant d'y ajouter la "valeur" de la tienne.
3
42wawa42
Messages postés
143
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011

6 avril 2007 à 01:38
Hello

Pour les instalations de police (ttf) voir le Help de Windows.

a plus sur VBFrance.com
42wawa42
0
cs_youyou40
Messages postés
65
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
28 avril 2022

6 avril 2007 à 08:44
@ 42wawa42
Merci de ta réponse mais que veux-tu dire par le Help de windows ?
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
6 avril 2007 à 20:03
Bonsoir,

Fais un tour dans ta base de registre et fais-y une recherche avec le mont Fonts...
Tu comprendras.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_youyou40
Messages postés
65
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
28 avril 2022

6 avril 2007 à 20:51
Bonsoir
@jmfmarques
J'ai déjà bien sûr regardé dans la base de registre et les polices sont listées dans la clé   HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts( dans Windows XP SP2 ).
Effectivement après l'appel de ces APIs , la police est fonctionnelle mais n'apparait pas dans cette clé.
Par contre si je rajoute une valeur pour cette police dans cette clé, là tout fonctionne.
Tu parles de cela ?
Tu suggères donc d'écrire le nom de la police dans cette clé avec WSH ou les APIs qui donnent accès au registre ?
Mais cette clé , elle ne dépend pas de la version de Windows ? Il n'y a pas d'API qui fasse directement l'inscription des polices dans le registre ? C'est le sens de ma question depuis le début.

Merci d'éclairer ma pauvre lanterne...
0
cs_youyou40
Messages postés
65
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
28 avril 2022

7 avril 2007 à 16:05
Bonjour,


merci jmfmarques pour toutes ces indications.


J'arrive donc bien à installer ma police en utilisant les fonctions AddFontRessource , SendMessage puis en écrivant dans la clé de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts grâce aux fonctions   RegOpenKeyEx , RegSetValueEx et RegCloseKey  .
J'ai obtenu la version de Windows avec GetVersinEx, pour vérifier s'il s'agissait d'une version NT ou 95/98/Me .

Merci encore !




 
0