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