Compartir a través de


Función RemoveFontResourceA (wingdi.h)

La función RemoveFontResource quita las fuentes del archivo especificado de la tabla de fuentes del sistema.

Si la fuente se agregó mediante la función AddFontResourceEx, debe usar la función RemoveFontResourceEx.

Sintaxis

BOOL RemoveFontResourceA(
  [in] LPCSTR lpFileName
);

Parámetros

[in] lpFileName

Puntero a una cadena terminada en null que asigna un nombre a un archivo de recursos de fuente.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es distinto de cero.

Si se produce un error en la función, el valor devuelto es cero.

Observaciones

Se recomienda que si una aplicación agrega o quita fuentes de la tabla de fuentes del sistema que notifica a otras ventanas del cambio enviando un mensaje de WM_FONTCHANGE a todas las ventanas de nivel superior del sistema. La aplicación envía este mensaje llamando a la función SendMessage con el parámetro hwnd establecido en HWND_BROADCAST.

Si hay referencias pendientes a una fuente, el recurso asociado permanece cargado hasta que no se usa ningún contexto de dispositivo. Además, si la fuente aparece en el Registro de fuentes (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts) y se instala en cualquier ubicación distinta de la carpeta %windir%\fonts\, puede cargarse en otras sesiones activas (incluida la sesión 0).

Al intentar reemplazar un archivo de fuente existente que contiene una fuente con referencias pendientes, es posible que reciba un error que indique que la fuente original no se puede eliminar porque está en uso incluso después de llamar a RemoveFontResource. Si la aplicación requiere que se reemplace el archivo de fuente, para reducir el número de recursos de la fuente original a cero, llame a RemoveFontResource en un bucle, como se muestra en este código de ejemplo. Si sigue recibiendo errores, se trata de una indicación de que el archivo de fuente permanece cargado en otras sesiones. Asegúrese de que la fuente no aparece en el registro de fuentes y reinicie el sistema para asegurarse de que la fuente se descarga de todas las sesiones.

Nota Aplicaciones donde el archivo de fuente original está en uso seguirá siendo capaz de acceder al archivo original y no usará la nueva fuente hasta que se vuelva a cargar la fuente. Llame a AddFontResource para volver a cargar la fuente. Se recomienda llamar a AddFontResource el mismo número de veces que la llamada a RemoveFontResource se realizó correctamente como se muestra en este código de ejemplo.
 

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

// TODO: Replace font file

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

Nota

El encabezado wingdi.h define RemoveFontResource como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de wingdi.h (incluya Windows.h)
biblioteca de Gdi32.lib
DLL de Gdi32.dll

Consulte también

AddFontResource

funciones de fuente y texto de

de información general de fuentes y texto de

removeFontResourceEx

SendMessage de