Winapi 如何在Windows上查找所有字体路径

Winapi 如何在Windows上查找所有字体路径,winapi,Winapi,我想查找包含Windows 10系统上安装的字体文件的所有路径。传统上,字体安装在C:\Windows\fonts中,但显然,它们也可以安装在不同的目录中 具体来说,我从一位用户那里得到了一份报告,他在Windows 10上安装了字体Albertus Extra Bold。当他在浏览器中打开C:\Windows\Fonts,选择Albertus Extra Bold并从上下文菜单中选择“属性”时,对话框显示字体的*.ttf文件显然没有安装在C:\Windows\Fonts中,而是安装在C:\Us

我想查找包含Windows 10系统上安装的字体文件的所有路径。传统上,字体安装在
C:\Windows\fonts
中,但显然,它们也可以安装在不同的目录中

具体来说,我从一位用户那里得到了一份报告,他在Windows 10上安装了字体
Albertus Extra Bold
。当他在浏览器中打开
C:\Windows\Fonts
,选择
Albertus Extra Bold
并从上下文菜单中选择“属性”时,对话框显示字体的*.ttf文件显然没有安装在
C:\Windows\Fonts
中,而是安装在
C:\Users\Admin\AppData\Local\Microsoft\Windows\Fonts


那么,我的应用程序是否应该简单地扫描
%USERPROFILE%\AppData\Local\Microsoft\Windows\font
上的
C:\Windows\font
或者Windows 10上是否有更多包含字体的路径?

好的,我想出来了:这似乎是Windows 10的东西。当我双击Windows 7系统上的*.ttf文件并单击“安装”时,字体将安装在
C:\Windows\Fonts
中。但是,在Windows 10上,执行相同操作将导致字体安装在
%USERPROFILE%\AppData\Local\Microsoft\Windows\Fonts
中。因此,Windows 10似乎使用非系统文件夹来避免向用户请求管理员权限。

字体可以在任何地方安装。检查注册表中的注册路径:
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
。有关更多详细信息,请参阅。谢谢,该注册表项确实很有用。尽管如此,我还是想知道报告这件事的用户的系统上发生了什么。每当他安装字体时,它不会出现在
C:\Windows\font
中,而是出现在
%USERPROFILE%\AppData\Local\Microsoft\Windows\font
中。你知道怎么会这样吗?当我安装相同的字体时,它会出现在
C:\Windows\font
中。在他的系统上,它以
%USERPROFILE%\AppData\Local\Microsoft\Windows\font
结束。也许是权限问题?!用户是否以管理员权限运行<代码>C:\Windows是一个系统文件夹,只有管理员才能在其中写入内容。用户是如何安装字体的?他是通过双击*.ttf文件,然后单击“安装”来安装字体的。我现在明白了。这似乎是一个Windows10的东西。。。见下面我的答案。