Tipp 4.3 - Schriftart deregistrieren

Wie kann ich eine Schriftart im System deregistrieren?

Mit dieser Funktion können Sie eine Schriftart im System deregistrieren. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.

Api-AufrufeVerwendete Win32-Api-Aufrufe und Typen: RemoveFontResource, SendMessage

Beispiel:

Option Explicit
 
Public Declare Function RemoveFontResource _
    Lib "gdi32" Alias _
    "RemoveFontResourceA" _
    (ByVal lpFileName As String) As Long
Public Declare Function SendMessage _
    Lib "user32" Alias _
    "SendMessageA" _
    (ByVal hwnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    lParam As Any) As Long
 
Public Function RemoveFont(sFontPath As String) As Boolean
  '// -----------------------------------------------------
  '// Methode:   | Eine Schriftart im System deregistrieren
  '// -----------------------------------------------------
  '// Parameter: | sFontPath - gültiger Font-Dateipfad
  '// -----------------------------------------------------
  '// Rückgabe:  | True bei Erfolg
  '// -----------------------------------------------------
  '// Autor:     | Stefan Kulpa
  '//            | EDV Innovation & Consulting - Dormagen
  '// -----------------------------------------------------
  Const WM_FONTCHANGE = &H1D
  Const HWND_BROADCAST = &HFFFF&
  RemoveFont = CBool(RemoveFontResource(sFontPath))
  If RemoveFont Then
    SendMessage HWND_BROADCAST, WM_FONTCHANGE, 0, 0
  End If
 
End Function