Função RemoveFontResourceExA (wingdi.h)

A função RemoveFontResourceEx remove as fontes no arquivo especificado da tabela de fontes do sistema.

Sintaxe

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

Parâmetros

[in] name

Um ponteiro para uma cadeia de caracteres terminada em nulo que nomeia um arquivo de recurso de fonte.

[in] fl

As características da fonte a ser removida do sistema. Para que a fonte seja removida, os sinalizadores usados devem ser os mesmos de quando a fonte foi adicionada com a função AddFontResourceEx . Consulte a função AddFontResourceEx para obter mais informações.

[in] pdv

Reservado. Deve ser zero.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. Nenhuma informação de erro estendida está disponível.

Comentários

Essa função só removerá a fonte se os sinalizadores especificados forem os mesmos de quando a fonte foi adicionada com a função AddFontResourceEx .

Ao tentar substituir um arquivo de fonte existente que contém uma fonte por referências pendentes a ele, você pode receber um erro que indica que a fonte original não pode ser excluída porque está em uso mesmo depois de chamar RemoveFontResourceEx. Se o aplicativo exigir que o arquivo de fonte seja substituído, para reduzir a contagem de recursos da fonte original para zero, chame RemoveFontResourceEx em um loop, conforme mostrado neste código de exemplo. Se você continuar recebendo erros, isso é uma indicação de que o arquivo de fonte permanece carregado em outras sessões. Verifique se a fonte não está listada no registro de fontes e reinicie o sistema para garantir que a fonte seja descarregada de todas as sessões.

Nota Os aplicativos em que o arquivo de fonte original está em uso ainda poderão acessar o arquivo original e não usarão a nova fonte até que a fonte seja recarregada. Chame AddFontResourceEx para recarregar a fonte. Recomendamos que você chame AddFontResourceEx o mesmo número de vezes que a chamada para RemoveFontResourceEx foi bem-sucedida, conforme mostrado neste código de exemplo.
 

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

// TODO: Replace font file

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

Observação

O cabeçalho wingdi.h define RemoveFontResourceEx como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wingdi.h (inclua Windows.h)
Biblioteca Gdi32.lib
DLL Gdi32.dll

Confira também

AddFontResourceEx

Funções de fonte e texto

Visão geral de fontes e texto

SendMessage