RemoveFontResourceA 函数 (wingdi.h)
RemoveFontResource 函数从系统字体表中删除指定文件中的字体。
如果使用 AddFontResourceEx 函数添加字体,则必须使用 RemoveFontResourceEx 函数。
语法
BOOL RemoveFontResourceA(
[in] LPCSTR lpFileName
);
参数
[in] lpFileName
指向命名字体资源文件的以 null 结尾的字符串的指针。
返回值
如果函数成功,则返回值为非零。
如果函数失败,则返回值为零。
言论
如果应用在系统字体表中添加或删除字体,则通过向系统中的所有顶级窗口发送 WM_FONTCHANGE 消息来通知其他窗口更改,我们建议应用。 应用通过调用设置为HWND_BROADCAST的 hwnd 参数调用 SendMessage 函数来发送此消息。
如果有对字体的未完成引用,则关联资源将保持加载状态,直到没有设备上下文使用它。 此外,如果字体在字体注册表(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts)中列出并安装到除 %windir%\fonts\ 文件夹以外的任何位置,则它可能会加载到其他活动会话(包括会话 0)。
尝试将包含字体的现有字体文件替换为对字体的未完成引用时,可能会收到一个错误,指出原始字体无法删除,因为即使在调用 removeFontResource
int i = 0;
while( RemoveFontResource( FontFile ) )
{
i++;
}
// TODO: Replace font file
while( i-- )
{
AddFontResource( FontFile );
}
注意
wingdi.h 标头将 RemoveFontResource 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | wingdi.h (包括 Windows.h) |
库 | Gdi32.lib |
DLL | Gdi32.dll |