Compartilhar via


Função RemoveFontResourceA (wingdi.h)

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

Se a fonte tiver sido adicionada usando a função AddFontResourceEx , você deverá usar a função RemoveFontResourceEx .

Sintaxe

BOOL RemoveFontResourceA(
  [in] LPCSTR lpFileName
);

Parâmetros

[in] lpFileName

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

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.

Comentários

Recomendamos que, se um aplicativo adicionar ou remover fontes da tabela de fontes do sistema, ele notifique outras janelas da alteração enviando uma mensagem WM_FONTCHANGE para todas as janelas de nível superior do sistema. O aplicativo envia essa mensagem chamando a função SendMessage com o parâmetro hwnd definido como HWND_BROADCAST.

Se houver referências pendentes a uma fonte, o recurso associado permanecerá carregado até que nenhum contexto de dispositivo o esteja usando. Além disso, se a fonte estiver listada no registro de fonte (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts) e estiver instalada em qualquer local diferente da pasta %windir%\fonts\, ela poderá ser carregada em outras sessões ativas (incluindo a sessão 0).

Ao tentar substituir um arquivo de fonte existente que contém uma fonte por referências pendentes a ele, você poderá receber um erro que indica que a fonte original não pode ser excluída porque está em uso mesmo depois de chamar RemoveFontResource. Se o aplicativo exigir que o arquivo de fonte seja substituído, para reduzir a contagem de recursos da fonte original para zero, chame RemoveFontResource 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 AddFontResource para recarregar a fonte. Recomendamos que você chame AddFontResource o mesmo número de vezes que a chamada para RemoveFontResource foi bem-sucedida, conforme mostrado neste código de exemplo.
 

int i = 0;
while( RemoveFontResource( FontFile ) )
{
    i++;
}

// TODO: Replace font file

while( i-- )
{
    AddFontResource( FontFile );
}

Observação

O cabeçalho wingdi.h define RemoveFontResource 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

Addfontresource

Funções de fonte e texto

Visão geral de fontes e texto

RemoveFontResourceEx

SendMessage