Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric LAURENT
Discret a écrit:
Bonjour,
Est-il possible d'installer une nouvelle police de caractères dans Windows 98 et XP par programmation acec WD 5.5b ?
Merci par avance de votre aide.
@+ Laurent
Il suffit de copier la police dans le dossier Fonts du Système d'exploitation. Pour que la police soit effective, il faut quand même ouvrir le fichier pour l'enregistrer dans la base de registre ou créer manuellement la clé dans : HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFonts (Exemple pour Windows 2000 ou NT:)
Discret <discretebal@hotmail.com> a écrit:
Bonjour,
Est-il possible d'installer une nouvelle police de caractères dans
Windows 98 et XP par programmation acec WD 5.5b ?
Merci par avance de votre aide.
@+ Laurent
Il suffit de copier la police dans le dossier Fonts du Système
d'exploitation.
Pour que la police soit effective, il faut quand même ouvrir le fichier pour
l'enregistrer dans la base de registre ou créer manuellement la clé dans :
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFonts
(Exemple pour Windows 2000 ou NT:)
Est-il possible d'installer une nouvelle police de caractères dans Windows 98 et XP par programmation acec WD 5.5b ?
Merci par avance de votre aide.
@+ Laurent
Il suffit de copier la police dans le dossier Fonts du Système d'exploitation. Pour que la police soit effective, il faut quand même ouvrir le fichier pour l'enregistrer dans la base de registre ou créer manuellement la clé dans : HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFonts (Exemple pour Windows 2000 ou NT:)
Reste à savoir les clefs de la BDR pour W98 et sans doute aussi XP, sans oublier l'emplacement du répertoire des polices car c:WindowsFonts n'est pas systématique.
J'aimerais mieux trouver une solution la moins "en dur" possible, une ch'tite dll commune à toutes les versions de Windows par exemple...
Une idée ?
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Reste à savoir les clefs de la BDR pour W98 et sans doute aussi XP,
sans oublier l'emplacement du répertoire des polices car
c:WindowsFonts n'est pas systématique.
J'aimerais mieux trouver une solution la moins "en dur" possible, une
ch'tite dll commune à toutes les versions de Windows par exemple...
Une idée ?
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Reste à savoir les clefs de la BDR pour W98 et sans doute aussi XP, sans oublier l'emplacement du répertoire des polices car c:WindowsFonts n'est pas systématique.
J'aimerais mieux trouver une solution la moins "en dur" possible, une ch'tite dll commune à toutes les versions de Windows par exemple...
Une idée ?
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Reste à savoir les clefs de la BDR pour W98 et sans doute aussi XP, sans oublier l'emplacement du répertoire des polices car c:WindowsFonts n'est pas systématique.
J'aimerais mieux trouver une solution la moins "en dur" possible, une ch'tite dll commune à toutes les versions de Windows par exemple...
Une idée ?
Oups excusez moi, j'ai oublié de signer
@+ Laurent
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Reste à savoir les clefs de la BDR pour W98 et sans doute aussi XP, sans
oublier l'emplacement du répertoire des polices car c:WindowsFonts n'est
pas systématique.
J'aimerais mieux trouver une solution la moins "en dur" possible, une ch'tite
dll commune à toutes les versions de Windows par exemple...
Une idée ?
Oups excusez moi, j'ai oublié de signer
@+ Laurent
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Reste à savoir les clefs de la BDR pour W98 et sans doute aussi XP, sans oublier l'emplacement du répertoire des polices car c:WindowsFonts n'est pas systématique.
J'aimerais mieux trouver une solution la moins "en dur" possible, une ch'tite dll commune à toutes les versions de Windows par exemple...
Une idée ?
Oups excusez moi, j'ai oublié de signer
@+ Laurent
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Pierre-Yves TAVERNIER
Bonjour,
Oui c'est possible !
Voici comment je fais (c'est du code wd55) :
//----- si frep(RepInst+"POLICE",frrepertoire)<>"" alors flistefichier(RepInst+"Police*.ttf","InstallePolice") sinon erreur("Le répertoire contenant les polices est inexistant !") fin
LaPolice est une chaine asciiz sur 260 = extraitchaine(NomFichier,1,".")+".FOT"
lpszFontFile est une chaine asciiz sur 260 = Chemin+NomFichier
lpszCurrentPath est une chaine asciiz sur 260 lpszResourceFile est une chaine asciiz sur 260
si change=1 alors renvoyer faux
pidl est un entier long Resultat est un entier long
Resultat = Appeldll32("shell32","SHGetSpecialFolderLocation",handle(),20,&pidl); si pidl alors Appeldll32("SHELL32","SHGetPathFromIDList",pidl,&lpszCurrentPath) AppelDLL32("KERNEL32","GlobalFree",pidl)
si fcopiefichier(Chemin+nomfichier,lpszCurrentPath+""+nomFichier) alors
lpszResourceFile = lpszCurrentPath+""+LaPolice AppelDLL32("Gdi32","CreateScalableFontResourceA" , 0, &lpszResourceFile, &LaPolice, &lpszCurrentPath) appeldll32("Gdi32","AddFontResourceA",&LaPolice) sendmessage(HWND_BROADCAST,WM_FONTCHANGE,0,0) fin fin
Coridalement
PYT -- Ce message a été posté via la plateforme Web club-Internet.fr This message has been posted by the Web platform club-Internet.fr
http://forums.club-internet.fr/
Bonjour,
Oui c'est possible !
Voici comment je fais (c'est du code wd55) :
//-----
si frep(RepInst+"POLICE",frrepertoire)<>"" alors
flistefichier(RepInst+"Police*.ttf","InstallePolice")
sinon
erreur("Le répertoire contenant les polices est inexistant !")
fin
LaPolice est une chaine asciiz sur 260 = extraitchaine(NomFichier,1,".")+".FOT"
lpszFontFile est une chaine asciiz sur 260 = Chemin+NomFichier
lpszCurrentPath est une chaine asciiz sur 260
lpszResourceFile est une chaine asciiz sur 260
si change=1 alors renvoyer faux
pidl est un entier long
Resultat est un entier long
Resultat = Appeldll32("shell32","SHGetSpecialFolderLocation",handle(),20,&pidl);
si pidl alors
Appeldll32("SHELL32","SHGetPathFromIDList",pidl,&lpszCurrentPath)
AppelDLL32("KERNEL32","GlobalFree",pidl)
si fcopiefichier(Chemin+nomfichier,lpszCurrentPath+""+nomFichier) alors
lpszResourceFile = lpszCurrentPath+""+LaPolice
AppelDLL32("Gdi32","CreateScalableFontResourceA" , 0, &lpszResourceFile,
&LaPolice, &lpszCurrentPath)
appeldll32("Gdi32","AddFontResourceA",&LaPolice)
sendmessage(HWND_BROADCAST,WM_FONTCHANGE,0,0)
fin
fin
Coridalement
PYT
--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr
//----- si frep(RepInst+"POLICE",frrepertoire)<>"" alors flistefichier(RepInst+"Police*.ttf","InstallePolice") sinon erreur("Le répertoire contenant les polices est inexistant !") fin
LaPolice est une chaine asciiz sur 260 = extraitchaine(NomFichier,1,".")+".FOT"
lpszFontFile est une chaine asciiz sur 260 = Chemin+NomFichier
lpszCurrentPath est une chaine asciiz sur 260 lpszResourceFile est une chaine asciiz sur 260
si change=1 alors renvoyer faux
pidl est un entier long Resultat est un entier long
Resultat = Appeldll32("shell32","SHGetSpecialFolderLocation",handle(),20,&pidl); si pidl alors Appeldll32("SHELL32","SHGetPathFromIDList",pidl,&lpszCurrentPath) AppelDLL32("KERNEL32","GlobalFree",pidl)
si fcopiefichier(Chemin+nomfichier,lpszCurrentPath+""+nomFichier) alors
lpszResourceFile = lpszCurrentPath+""+LaPolice AppelDLL32("Gdi32","CreateScalableFontResourceA" , 0, &lpszResourceFile, &LaPolice, &lpszCurrentPath) appeldll32("Gdi32","AddFontResourceA",&LaPolice) sendmessage(HWND_BROADCAST,WM_FONTCHANGE,0,0) fin fin
Coridalement
PYT -- Ce message a été posté via la plateforme Web club-Internet.fr This message has been posted by the Web platform club-Internet.fr
http://forums.club-internet.fr/
Discret
Pierre-Yves TAVERNIER a exposé le 25/02/2004 :
Bonjour,
Oui c'est possible !
Voici comment je fais (c'est du code wd55) :
//----- si frep(RepInst+"POLICE",frrepertoire)<>"" alors flistefichier(RepInst+"Police*.ttf","InstallePolice") sinon erreur("Le répertoire contenant les polices est inexistant !") fin
LaPolice est une chaine asciiz sur 260 = extraitchaine(NomFichier,1,".")+".FOT"
lpszFontFile est une chaine asciiz sur 260 = Chemin+NomFichier
lpszCurrentPath est une chaine asciiz sur 260 lpszResourceFile est une chaine asciiz sur 260
si change=1 alors renvoyer faux
pidl est un entier long Resultat est un entier long
Resultat = Appeldll32("shell32","SHGetSpecialFolderLocation",handle(),20,&pidl); si pidl alors Appeldll32("SHELL32","SHGetPathFromIDList",pidl,&lpszCurrentPath) AppelDLL32("KERNEL32","GlobalFree",pidl)
si fcopiefichier(Chemin+nomfichier,lpszCurrentPath+""+nomFichier) alors
lpszResourceFile = lpszCurrentPath+""+LaPolice AppelDLL32("Gdi32","CreateScalableFontResourceA" , 0, &lpszResourceFile, &LaPolice, &lpszCurrentPath) appeldll32("Gdi32","AddFontResourceA",&LaPolice) sendmessage(HWND_BROADCAST,WM_FONTCHANGE,0,0) fin fin
Coridalement
PYT
Merci beaucoup pour ce code !
Par contre je ne comprends pas l'instruction sendmessage(HWND_BROADCAST,WM_FONTCHANGE,0,0) D'où sortent HWND_BROADCAST et WM_FONTCHANGE ?
@+ Laurent
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Pierre-Yves TAVERNIER a exposé le 25/02/2004 :
Bonjour,
Oui c'est possible !
Voici comment je fais (c'est du code wd55) :
//-----
si frep(RepInst+"POLICE",frrepertoire)<>"" alors
flistefichier(RepInst+"Police*.ttf","InstallePolice")
sinon
erreur("Le répertoire contenant les polices est inexistant !")
fin
LaPolice est une chaine asciiz sur 260 =
extraitchaine(NomFichier,1,".")+".FOT"
lpszFontFile est une chaine asciiz sur 260 = Chemin+NomFichier
lpszCurrentPath est une chaine asciiz sur 260
lpszResourceFile est une chaine asciiz sur 260
si change=1 alors renvoyer faux
pidl est un entier long
Resultat est un entier long
Resultat =
Appeldll32("shell32","SHGetSpecialFolderLocation",handle(),20,&pidl); si pidl
alors Appeldll32("SHELL32","SHGetPathFromIDList",pidl,&lpszCurrentPath)
AppelDLL32("KERNEL32","GlobalFree",pidl)
si fcopiefichier(Chemin+nomfichier,lpszCurrentPath+""+nomFichier) alors
lpszResourceFile = lpszCurrentPath+""+LaPolice
AppelDLL32("Gdi32","CreateScalableFontResourceA" , 0, &lpszResourceFile,
&LaPolice, &lpszCurrentPath)
appeldll32("Gdi32","AddFontResourceA",&LaPolice)
sendmessage(HWND_BROADCAST,WM_FONTCHANGE,0,0)
fin
fin
Coridalement
PYT
Merci beaucoup pour ce code !
Par contre je ne comprends pas l'instruction
sendmessage(HWND_BROADCAST,WM_FONTCHANGE,0,0)
D'où sortent HWND_BROADCAST et WM_FONTCHANGE ?
@+ Laurent
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
//----- si frep(RepInst+"POLICE",frrepertoire)<>"" alors flistefichier(RepInst+"Police*.ttf","InstallePolice") sinon erreur("Le répertoire contenant les polices est inexistant !") fin
LaPolice est une chaine asciiz sur 260 = extraitchaine(NomFichier,1,".")+".FOT"
lpszFontFile est une chaine asciiz sur 260 = Chemin+NomFichier
lpszCurrentPath est une chaine asciiz sur 260 lpszResourceFile est une chaine asciiz sur 260
si change=1 alors renvoyer faux
pidl est un entier long Resultat est un entier long
Resultat = Appeldll32("shell32","SHGetSpecialFolderLocation",handle(),20,&pidl); si pidl alors Appeldll32("SHELL32","SHGetPathFromIDList",pidl,&lpszCurrentPath) AppelDLL32("KERNEL32","GlobalFree",pidl)
si fcopiefichier(Chemin+nomfichier,lpszCurrentPath+""+nomFichier) alors
lpszResourceFile = lpszCurrentPath+""+LaPolice AppelDLL32("Gdi32","CreateScalableFontResourceA" , 0, &lpszResourceFile, &LaPolice, &lpszCurrentPath) appeldll32("Gdi32","AddFontResourceA",&LaPolice) sendmessage(HWND_BROADCAST,WM_FONTCHANGE,0,0) fin fin
Coridalement
PYT
Merci beaucoup pour ce code !
Par contre je ne comprends pas l'instruction sendmessage(HWND_BROADCAST,WM_FONTCHANGE,0,0) D'où sortent HWND_BROADCAST et WM_FONTCHANGE ?
@+ Laurent
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Pierre-Yves TAVERNIER
Bonjour,
Merci beaucoup pour ce code !
De rien
Par contre je ne comprends pas l'instruction sendmessage(HWND_BROADCAST,WM_FONTCHANGE,0,0) D'où sortent HWND_BROADCAST et WM_FONTCHANGE ?
J'ai oublié de te donner les constantes !
C'est pour informer toutes les applications ouvertes que les fonts ont changé. WM_POWERBROADCAST 0x0218 WM_FONTCHANGE 0x001D
PYT
Bonjour,
Merci beaucoup pour ce code !
De rien
Par contre je ne comprends pas l'instruction
sendmessage(HWND_BROADCAST,WM_FONTCHANGE,0,0)
D'où sortent HWND_BROADCAST et WM_FONTCHANGE ?
J'ai oublié de te donner les constantes !
C'est pour informer toutes les applications ouvertes que les fonts ont
changé.
WM_POWERBROADCAST 0x0218
WM_FONTCHANGE 0x001D