Compartilhar via


Função RemoveFontResourceW (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 RemoveFontResourceW(
  [in] LPCWSTR lpFileName
);

Parâmetros

[in] lpFileName

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

Valor de retorno

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

Se a função falhar, o valor retornado será zero.

Observações

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 de WM_FONTCHANGE para todas as janelas de nível superior no sistema. O aplicativo envia essa mensagem chamando a função SendMessage com o parâmetro 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ê pode 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.

Observação Aplicativos em que o arquivo de fonte original está em uso ainda poderá acessar o arquivo original e não usará 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 bem-sucedida, conforme mostrado neste código de exemplo.
 

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

// TODO: Replace font file

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

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

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

Consulte também

AddFontResource

Funções de fonte e texto

fontes e visão geral de texto

RemoveFontResourceEx

SendMessage