AddFontResourceExW 函数 (wingdi.h)

AddFontResourceEx 函数将指定文件中的字体资源添加到系统中。 使用 AddFontResourceEx 函数添加的字体可以标记为私有且不可枚举。

语法

int AddFontResourceExW(
  [in] LPCWSTR name,
  [in] DWORD   fl,
  [in] PVOID   res
);

参数

[in] name

指向包含有效字体文件名的以 null 结尾的字符串的指针。 此参数可以指定以下任何文件。

文件扩展名 意义
.fon
字体资源文件。
.fnt
原始位图字体文件。
.ttf
Raw TrueType 文件。
.ttc
东亚 Windows:TrueType 字体集合。
.fot
TrueType 资源文件。
.otf
PostScript OpenType 字体。
.mmm
多个主 Type1 字体资源文件。 它必须与 .pfm 和 .pfb 文件一起使用。
.pfb
键入 1 个字体位文件。 它与 .pfm 文件一起使用。
.pfm
键入 1 个字体指标文件。 它与 .pfb 文件一起使用。
 

若要添加其信息来自多个资源文件的字体,请将 lpszFileName 指向文件名用 | 分隔的字符串--例如 abcxxxxx.pfm |abcxxxxx.pfb.

[in] fl

要添加到系统中的字体的特征。 此参数可以是下列值之一。

价值 意义
FR_PRIVATE
指定只有调用 AddFontResourceEx 函数的进程才能使用此字体。 当字体名称与公共字体匹配时,将选择专用字体。 进程终止时,系统会使用 AddFontResourceEx 函数删除进程安装的所有字体。
FR_NOT_ENUM
指定没有进程(包括调用 AddFontResourceEx 函数的进程)可以枚举此字体。

[in] res

保留。 必须为零。

返回值

如果函数成功,则返回值指定添加的字体数。

如果函数失败,则返回值为零。 没有可用的扩展错误信息。

言论

此函数允许进程使用字体,而不允许其他进程访问字体。

当应用程序不再需要通过调用 AddFontResourceEx 函数加载的字体资源时,它必须通过调用 RemoveFontResourceEx 函数来删除资源。

此函数仅安装当前会话的字体。 系统重启时,字体将不存在。 若要即使在重新启动系统后安装字体,该字体也必须在注册表中列出。

注册表中列出的字体并安装到除 %windir%\fonts\ 文件夹以外的位置时,只要它加载到任何会话中,就不能修改、删除或替换该字体。 若要更改其中一种字体,必须先通过调用 <RemoveFontResource(从字体注册表(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts)中删除该字体,然后系统重新启动。 重启系统后,将不再加载字体,可以更改字体。

注意

wingdi.h 标头将 AddFontResourceEx 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 wingdi.h (包括 Windows.h)
Gdi32.lib
DLL Gdi32.dll

另请参阅

字体和文本功能

字体和文本概述

RemoveFontResourceEx

SendMessage