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.
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 |