Installer une police [Résolu]

cs_youyou40 58 Messages postés lundi 20 décembre 2004Date d'inscription 3 janvier 2017 Dernière intervention - 5 avril 2007 à 19:15 - Dernière réponse : cs_youyou40 58 Messages postés lundi 20 décembre 2004Date d'inscription 3 janvier 2017 Dernière intervention
- 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 ....
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 6 avril 2007 à 22:13
3
Merci
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.

Merci jmfmarques 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de jmfmarques
42wawa42 143 Messages postés dimanche 28 septembre 2003Date d'inscription 6 septembre 2011 Dernière intervention - 6 avril 2007 à 01:38
0
Merci
Hello

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

a plus sur VBFrance.com
42wawa42
Commenter la réponse de 42wawa42
cs_youyou40 58 Messages postés lundi 20 décembre 2004Date d'inscription 3 janvier 2017 Dernière intervention - 6 avril 2007 à 08:44
0
Merci
@ 42wawa42
Merci de ta réponse mais que veux-tu dire par le Help de windows ?
Commenter la réponse de cs_youyou40
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 6 avril 2007 à 20:03
0
Merci
Bonsoir,

Fais un tour dans ta base de registre et fais-y une recherche avec le mont Fonts...
Tu comprendras.
Commenter la réponse de jmfmarques
cs_youyou40 58 Messages postés lundi 20 décembre 2004Date d'inscription 3 janvier 2017 Dernière intervention - 6 avril 2007 à 20:51
0
Merci
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...
Commenter la réponse de cs_youyou40
cs_youyou40 58 Messages postés lundi 20 décembre 2004Date d'inscription 3 janvier 2017 Dernière intervention - 7 avril 2007 à 16:05
0
Merci
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 !




 
Commenter la réponse de cs_youyou40

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.