AddFontResourceExA 函数 (wingdi.h)
AddFontResourceEx 函数将指定文件中的字体资源添加到系统。 使用 AddFontResourceEx 函数添加的字体可以标记为专用,不可枚举。
语法
int AddFontResourceExA(
[in] LPCSTR name,
[in] DWORD fl,
[in] PVOID res
);
参数
[in] name
指向包含有效字体文件名的以 null 结尾的字符串的指针。 此参数可以指定以下任何文件。
若要添加信息来自多个资源文件的字体,请将 lpszFileName 指向文件名分隔为 |--例如,abcxxxxx.pfm |abcxxxxx.pfb。
[in] fl
要添加到系统中的字体的特征。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
指定只有调用 AddFontResourceEx 函数的进程才能使用此字体。 当字体名称与公共字体匹配时,将选择专用字体。 当进程终止时,系统会使用 AddFontResourceEx 函数删除进程安装的所有字体。 |
|
指定任何进程(包括调用 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 |