AddFontResourceExA 函数 (wingdi.h)

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

语法

int AddFontResourceExA(
  [in] LPCSTR name,
  [in] DWORD  fl,
  [in] PVOID  res
);

参数

[in] name

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

文件扩展名 含义
.fon
字体资源文件。
.fnt
原始位图字体文件。
.ttf
原始 TrueType 文件。
。Ttc
东亚 Windows:TrueType 字体集合。
.fot
TrueType 资源文件。
.otf
PostScript OpenType 字体。
。嗯
多主类型 1 字体资源文件。 它必须与 .pfm 和 .pfb 文件一起使用。
.pfb
键入 1 个字体位文件。 它与 .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 [仅限桌面应用]
目标平台 Windows
标头 wingdi.h (包括 Windows.h)
Library Gdi32.lib
DLL Gdi32.dll

另请参阅

字体和文本函数

字体和文本概述

RemoveFontResourceEx

SendMessage