Я использую С# для получения точного пути к папке системных шрифтов. Не удалось найти, какой класс /dll делает это.
Как получить путь к папке шрифтов Windows?
Ответ 1
string fontsfolder = System.Environment.GetFolderPath(
System.Environment.SpecialFolder.Fonts);
Обратите внимание, что папка Fonts в перечислении SpecialFolder доступна только в .Net 4 и далее.
Ответ 2
Для ответов здесь, которые указывают Environment.SpecialFolders.Fonts
, это значение перечисления существует только в .NET 4.0 +.
Для .NET 1.1 - 3.5 вы можете сделать следующее:
Папка "Шрифты" находится внутри папки Windows (например, C:\Windows\Fonts). Программно захватите его с помощью следующих шагов:
-
Отключить другую специальную папку, которая существует в перечисляемом значении .NET 2, например, системная папка
Environment.SpecialFolder.System
. -
Возьмите родительскую папку в системной папке (получает базовую папку Windows)
-
Совместите имя шрифта в папке Windows, чтобы получить окончательный результат.
В этом примере кода используется папка "Система" и выполняется. Есть и другие папки, которые вы можете отключить.
using System.IO;
// get parent of System folder to have Windows folder
DirectoryInfo dirWindowsFolder = Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.System));
// Concatenate Fonts folder onto Windows folder.
string strFontsFolder = Path.Combine(dirWindowsFolder.FullName, "Fonts");
// Results in full path e.g. "C:\Windows\Fonts"
Ответ 3
string fontFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.Fonts);
Ответ 4
Environment.SpecialFolders.Fonts