我想制作一个组合框,其中包含计算机上已安装的所有字体。我不确定这是如何完成的。我是否需要访问注册表来获取此信息? 谢谢获取字体列表(Win32)
6
A
回答
8
您应该使用Win32 API函数EnumFontFamiliesEx。您调用该函数,并传递一个匹配EnumFontFamExProc类型的回调函数。对于EnumFontFamiliesEx找到的每种字体,都会调用一次回调函数。
我推荐使用unicode版本(EnumFontFamiliesExW),因为我看到ascii版本(EnumFontFamiliesExA)显示东亚语言字体的一些非常奇怪的行为。
链接的文章有示例代码。
4
winapi的做法是使用EnumFontFamiliesEx
函数。您应该使用默认参数DEFAULT_CHARSET
传递填充结构以列出所有安装的字体。
请参阅MSDN以获取更多信息。
+0
或'EnumFontFamilies “如果你不需要所有那些”前“的能力...... – 2010-04-23 22:00:02
相关问题
- 1. 在Win32 API中获取菜单项的字体大小?
- 2. 如何获取Win32列表框的列宽?
- 3. 如何获取亚洲文字字体的列表?
- 4. C++ win32从键盘获取utf8字符
- 5. 如何从win32进程获取线程句柄列表?
- 6. 如何获取win32 API的域用户帐户列表?
- 7. 如何通过abcpdf获取嵌入字体和引用字体列表?
- 8. 获取实体的属性列表
- 9. 从Doctrine获取数组/实体列表
- 10. 获取外部PDF中使用的嵌入字体的列表
- 11. 跨平台获取可用字体列表的方式?
- 12. 如何获取所有已安装字体的列表?
- 13. 获取字体大小列表在Powerpoint中VBA
- 14. 跨平台获取可用字体列表的方法
- 15. 获取安装的字体作为列表
- 16. 获取表示字符串列表
- 17. 从MemoryMappedFile获取Win32句柄
- 18. 通过guid列表获取实体列表
- 19. win32:读取消息队列
- 20. 获取列表
- 21. 获取列表
- 22. 获取列表
- 23. 获取列表
- 24. 获取列表
- 25. 获取列表
- 26. 从实体获取单列
- 27. 获取Win32 API在窗体上绘制一个正方形
- 28. Java获取字体大小
- 29. 在three.js中获取字体
- 30. 获取字体大小
在C#中的最佳解决方案在这里:http://stackoverflow.com/questions/3486546/enumerating-active-fonts-in-c-sharp-using-dll-call-to-enumfontfamiliesex-has-me – user20493 2012-09-06 18:48:04