如何让EUDC在不重启的情况下开始生效?

时间:2012-08-06 03:18:03

标签: c winapi fonts

我想以编程方式注册一些用户定义的字符字体。根据{{​​3}},我在我的程序中设置了EUDC注册表键和值。但字体不会开始生效。我必须重新启动才能正确显示字符。使用私有字符编辑器时,对字符的修改将立即开始生效,因此必须有某种方法通知系统更新字体而不重新启动。任何人都知道如何 实现这个目标?

顺便说一句,我曾尝试通过以下代码广播WM_FONTCHANGE消息,但似乎无法正常工作......

SendMessage(HWND_BROADCAST, WM_FONTCHANGE, NULL, NULL);

1 个答案:

答案 0 :(得分:0)

我认为你必须使用EnableEUDC功能。

示例:

EnableEUDC(FALSE);

// Your code for manipulating with registry

EnableEUDC(TRUE);

我没有对此进行测试,但 Eudcedit.exe 使用了类似的技术。