Поделиться через


Функция RemoveFontResourceExA (wingdi.h)

Функция removeFontResourceEx удаляет шрифты в указанном файле из системной таблицы шрифтов.

Синтаксис

BOOL RemoveFontResourceExA(
  [in] LPCSTR name,
  [in] DWORD  fl,
  [in] PVOID  pdv
);

Параметры

[in] name

Указатель на строку, завершающую значение NULL, которая называет файл ресурса шрифта.

[in] fl

Характеристики шрифта, который необходимо удалить из системы. Чтобы удалить шрифт, используемые флаги должны совпадать с тем, что при добавлении шрифта с функцией AddFontResourceEx. Дополнительные сведения см . в функции AddFontResourceEx.

[in] pdv

Скрытный. Должно быть равно нулю.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение ненулевое.

Если функция завершается ошибкой, возвращаемое значение равно нулю. Дополнительные сведения об ошибке недоступны.

Замечания

Эта функция удаляет шрифт, только если указанные флаги совпадают с тем, что при добавлении шрифта с помощью функции AddFontResourceEx.

При попытке заменить существующий файл шрифта, содержащий шрифт с выдающимися ссылками на него, может появиться сообщение об ошибке, указывающее, что исходный шрифт не может быть удален, так как он используется даже после вызова RemoveFontResourceEx. Если приложению требуется заменить файл шрифта, чтобы уменьшить количество ресурсов исходного шрифта до нуля, вызовите RemoveFontResourceEx в цикле, как показано в этом примере кода. Если вы продолжаете получать ошибки, это означает, что файл шрифта остается загруженным в других сеансах. Убедитесь, что шрифт не указан в реестре шрифтов и перезапустите систему, чтобы убедиться, что шрифт выгружается из всех сеансов.

Примечание Приложения, где исходный файл шрифта используется, по-прежнему сможет получить доступ к исходному файлу и не будет использовать новый шрифт до тех пор, пока шрифт не перезагрузится. Вызовите AddFontResourceEx для перезагрузки шрифта. Рекомендуется вызывать AddFontResourceEx то же количество раз, что и вызов RemoveFontResourceEx, как показано в этом примере кода.
 

int i = 0;
while( RemoveFontResourceEx( FontFile, FR_PRIVATE, 0 ) )
{
    i++;
}

// TODO: Replace font file

while( i-- )
{
    AddFontResourceEx( FontFile, FR_PRIVATE, 0 );
}

Заметка

Заголовок wingdi.h определяет RemoveFontResourceEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка wingdi.h (включая Windows.h)
библиотеки Gdi32.lib
DLL Gdi32.dll

См. также

AddFontResourceEx

функции шрифта и текста

шрифтов и текста

SendMessage