[vb6]如何删除系统字体?

在Listbox1中列出了所有系统字体,请教,如何删除指定的字体[不是指删除Listbox1中的项目,而是删除系统中的这个字体]?谢谢.我知道系统字体所在目录;只是不知道如何用VB编程删除Listbox1中指定的字体?
2026年09月25日 08:04
有4个网友回答
网友(1):

'引用Registry Access Functions library(RegObj.dll)]:
'在窗体上加入控件command1,然后复制下面代码,修改你要删除的字体名,运行,即可。
'=====窗体代码部分====
Private Declare Function RemoveFontResource Lib "gdi32" Alias "RemoveFontResourceA" (ByVal lpFileName As String) As Long

Sub delfont(ByVal fname As String)
fname = fname & " (truetype)"
Dim myreg As New Registry, temp As String, r As Long
myreg.GetKeyValue HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts", fname, temp
temp = Environ("windir") & "\fonts\" & temp
r = RemoveFontResource(temp)
End Sub

Private Sub Command1_Click()
delfont "华文行楷" '修改你要删除的字体名
End Sub

网友(2):

先打开控制面板中的字体,(win7系统)先把字体隐藏,然后再删除。轻松搞定

网友(3):

c:\windows\Fonts目录下就是系统字体,删除对应文件就可

网友(4):

For i = 0 To List1.ListCount
If List1.List(i) = "宋体" Then List1.RemoveItem (i)
Next i