RemoveFontResourceA-Funktion (wingdi.h)
Die RemoveFontResource-Funktion entfernt die Schriftarten in der angegebenen Datei aus der Systemschriftarttabelle.
Wenn die Schriftart mithilfe der Funktion AddFontResourceEx hinzugefügt wurde, müssen Sie die RemoveFontResourceEx-Funktion verwenden.
Syntax
BOOL RemoveFontResourceA(
[in] LPCSTR lpFileName
);
Parameter
[in] lpFileName
Ein Zeiger auf eine NULL-Zeichenfolge, die eine Schriftartressourcendatei benennt.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.
Hinweise
Es wird empfohlen, wenn eine App Schriftarten aus der Systemschriftarttabelle hinzufügt oder entfernt, andere Fenster über die Änderung zu benachrichtigen, indem sie eine WM_FONTCHANGE Nachricht an alle Fenster der obersten Ebene im System sendet. Die App sendet diese Nachricht, indem sie die SendMessage-Funktion aufruft, wobei der hwnd-Parameter auf HWND_BROADCAST festgelegt ist.
Wenn ausstehende Verweise auf eine Schriftart vorhanden sind, bleibt die zugeordnete Ressource geladen, bis sie von keinem Gerätekontext verwendet wird. Wenn die Schriftart in der Schriftartenregistrierung (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts) aufgeführt und an einem anderen Speicherort als dem Ordner %windir%\fonts\ installiert wird, kann sie in andere aktive Sitzungen (einschließlich Sitzung 0) geladen werden.
Wenn Sie versuchen, eine vorhandene Schriftartdatei, die eine Schriftart enthält, durch ausstehende Verweise darauf zu ersetzen, wird möglicherweise ein Fehler angezeigt, der darauf hinweist, dass die ursprüngliche Schriftart nicht gelöscht werden kann, da sie auch nach dem Aufrufen von RemoveFontResource verwendet wird. Wenn Ihre App erfordert, dass die Schriftartdatei ersetzt wird, rufen Sie RemoveFontResource in einer Schleife auf, um die Ressourcenanzahl der ursprünglichen Schriftart auf Null zu reduzieren, wie in diesem Beispielcode gezeigt. Wenn weiterhin Fehler auftreten, ist dies ein Hinweis darauf, dass die Schriftartdatei in anderen Sitzungen geladen bleibt. Stellen Sie sicher, dass die Schriftart nicht in der Schriftartenregistrierung aufgeführt ist, und starten Sie das System neu, um sicherzustellen, dass die Schriftart aus allen Sitzungen entladen wird.
int i = 0;
while( RemoveFontResource( FontFile ) )
{
i++;
}
// TODO: Replace font file
while( i-- )
{
AddFontResource( FontFile );
}
Hinweis
Der wingdi.h-Header definiert RemoveFontResource als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wingdi.h (einschließlich Windows.h) |
Bibliothek | Gdi32.lib |
DLL | Gdi32.dll |
Weitere Informationen
Schriftart- und Textfunktionen