IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Installation de police


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Par défaut Installation de police
    Bonjour,

    J'essaye de créer un exécutable qui installerait des polices.
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    [DllImport("gdi32", EntryPoint = "AddFontResource")]
            public static extern int AddFontResource(string lpFileName);
     
            static void Main(string[] args)
            {
                foreach (FileInfo file in (new DirectoryInfo(Environment.CurrentDirectory)).GetFiles())
                {
                    try
                    {
                        if (file.Extension.ToLower() == ".ttf" || file.Extension.ToLower() == ".otf" || file.Extension.ToLower() == ".afm" || file.Extension.ToLower() == ".pfb" || file.Extension.ToLower() == ".pfm")
                        {
                            file.CopyTo(@"C:\Windows\Fonts\" + file.Name);
                             if (file.Extension.ToLower() == ".ttf" || file.Extension.ToLower() == ".otf" || file.Extension.ToLower() == ".pfm")AddFontResource(@"C:\Windows\Fonts\" + file.Name);
                        }
                    }
                    catch(Exception e)
                    {
                         Console.WriteLine(file.Name + " : " + e.Message);
                    }
                }
                Console.ReadLine();
            }
    Cela marche très bien sous XP.
    Mais sur Seven j'ai quelques souci.

    Déjà je suis obligé de baisser le niveau de contrôle utilisateur au minimum.
    Ensuite les polices Open Type ou les polices adobe n’apparaissent pas dans le dossier font.
    Et plus curieux impossible lors que j'essaye à nouveaux d'en faire une copie j'ai une erreur comme quoi elles sont présentes, mais lors d'une recherche sur le poste elles n'apparaissent pas non plus dans le dossier font ?!

    Donc :
    -Comment gérer le contrôle utilisateur?
    -Quel pourrait être le souci avec les polices Adobe et Open Type?
    Tout ça uniquement sur Seven sur XP ça roule.

    Si quelqu'un a une solution ou une piste.

    Merci.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par NejNej Voir le message
    Déjà je suis obligé de baisser le niveau de contrôle utilisateur au minimum.
    Bah tu écris dans le répertoire C:\Windows\Fonts\, donc forcément il faut avoir les privilèges administateur... Si tu exécutes le programme en tant qu'admin, ça devrait marcher.

    Par contre pour l'histoire des polices OpenType, aucune idée...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Bah tu écris dans le répertoire C:\Windows\Fonts\, donc forcément il faut avoir les privilèges administateur... Si tu exécutes le programme en tant qu'admin, ça devrait marcher.
    Oh mais quel ...!
    Merci Tomlev.

    [EDIT]
    ...mais j'ai toujours le problème avec les polices Open Type et de type Adobe sur Seven.
    [/EDIT]

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Par défaut
    Bon j'ai contourné le problème en allant directement dans la base de registre quand je suis sous seven.

    Pour les ttf et otf je copie le fichier dans le dossier font, puis j'ajoute une valeur à la clef :
    localmachine\software\Microsoft\Windows NT\CurrentVersion\Fonts
    Et pour les fichiers pfm j'ajoute une valeur qui ressemble à :
    InTBD___ REG_MULTI_SZ T INTBD___.pfm INTBD___.pfb
    dans la clef :
    localmachine\software\Microsoft\Windows NT\CurrentVersion\Type 1 Installer\Type 1 Fonts
    Voilà!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. installer une police trouvé sur DAFONT ?
    Par devlopassion dans le forum Windows XP
    Réponses: 2
    Dernier message: 05/11/2006, 08h36
  2. [Font] Installer une police
    Par GLDavid dans le forum Windows XP
    Réponses: 3
    Dernier message: 02/06/2006, 11h27
  3. Créer, retoucher, installer des polices sous debian
    Par Thrystan dans le forum Debian
    Réponses: 2
    Dernier message: 29/06/2005, 22h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo