请问如何通过程序删除/添加一个系统字体?如果删除成功,打开写字板程序,字体下拉框不会显示该字体。如果添加成功,则写字板程序正确显示改字体。目前我只知道如果手工完成以上步骤:
1. 打开资源管理器,进入c:\windows\fonts目录。(不同操作系统有不同windows目录)
2. 选择文件-》添加新字体/删除 完成系统字体的添加删除操作。我尝试过GDI++32的API AddFontResource/RemoveFontResource方法,可是RemoveFontResource总是失败,不知道为什么?总之,希望大家告诉我如果通过程序完成上述工作?谢谢!
1. 打开资源管理器,进入c:\windows\fonts目录。(不同操作系统有不同windows目录)
2. 选择文件-》添加新字体/删除 完成系统字体的添加删除操作。我尝试过GDI++32的API AddFontResource/RemoveFontResource方法,可是RemoveFontResource总是失败,不知道为什么?总之,希望大家告诉我如果通过程序完成上述工作?谢谢!
1. 调用RemoveFontResource方法。(返回值为非0,代表成功)
2. 发送消息通知字体变化。(返回值为1,代表成功)
3. 移动c:\windows\fonts\roman.fon文件。(File.Move方法)代码运行一切正常,从资源浏览器打开c:\windows\fonts,还是可以看到roman,但文件大小变为0。打开写字板,依然可以看到roman。 这些特征和手工删除Roman的情况不一样。证明这个字体还是没有完全从系统中删除。
上述代码已经删除注册表项目了。希望大家给一段代码删除系统字体Roman。(测试:打开写字板,选择字体,查看是否被删除)