This article m'a montré comment installer les polices à partir d'un script, mais maintenant je suis confronté au problème de les supprimer. Comment puis je faire ça ? Toute langue est ok, je vais convertir l'information à ce dont j'ai besoin plus tard.Comment puis-je supprimer les polices de mon code, sous Windows?
EDIT: Bon, je sais maintenant comment désinstaller les polices (la plupart au moins). J'émets des appels au RemoveFontResource
. Après cela, j'utilise SendMessage
avec les paramètres: 0xffff,0x001D,0,0
(HWND_BROACAST, WM_FONTCHANGE ... et j'ai oublié ce que les deux autres paramètres signifient). La chose est, cela supprime la police, mais dans l'entrée de Control Panel
, la police apparaît toujours là (même si si vous essayez de le supprimer aussi, il dira qu'il ne peut pas lire à partir du fichier source ou du disque.)
donc, fondamentalement, je supprime une police dans cet ordre:
- supprimer physiquement du
C:\Windows\Fonts
- appelant RemoveFontResource
- appelant SendMessage
Quelle est la manière correcte de désinstaller?
Oui, mais cela devrait être fait par un processus automatisé. Le redémarrage n'est pas une option. – Geo
Donc, un peu plus d'enquête semble pointer vers le service WMI. Si vous redémarrez ce service * après * la police est supprimée la liste des polices du panneau de contrôle est correcte (NOTE: si vous avez le dossier c: \ windows \ fonts ouvert dans l'explorateur lorsque vous redémarrez le service WMI et appuyez simplement sur F5 * le montre, mais quittez et redémarrez l'applet de contrôle des polices et vous verrez son disparu ET vous pouvez réinstaller la police) tout sans redémarrage ... Note supplémentaire: J'ai essayé de supprimer la police lorsque le service WMI ne fonctionnait pas et ce n'était pas avant qu'il ait été recommencé que la police supprimée a été enlevée du panneau de commande. – Ruddy
Pouvez-vous également lister la commande pour redémarrer le service WMI? Peut-il être fait à partir de la ligne de commande? – Geo