Lijo Sebastian Ответов: 3

Установка шрифта программно с помощью C# без перезагрузки системы


Привет друзья,
Пожалуйста, помогите мне, чтобы обеспечить хорошее решение для этого. Как установить шрифт постоянно в вашей системе программно, используя C#. Я хочу, чтобы шрифт был немедленно доступен в папке Windows Fonts, без перезагрузки системы. Я много гуглил, но безуспешно. Я нашел AddFontResource из msdn и попробовал это сделать, но это тоже не отражалось должным образом. Также SendMessage после того, как AddfontResource иногда зависает в системе.
Итак, в настоящее время я выбираю функцию копирования, которая будет копировать шрифт в папку fonts, а затем добавлять запись шрифта в Regristry, выполняя пакетный файл.
Но тогда шрифт доступен только при следующем входе в систему.

Чего мне здесь не хватает.

заранее спасибо.

3 Ответов

Рейтинг:
20

Lijo Sebastian

Я добился того же делая это:
XCOPY файл шрифта в папку системных шрифтов с помощью командной строки cmd.
Добавление записи шрифта в папку шрифтов реестра.

Тогда мой шрифт сразу же стал доступен без перезагрузки машины.


Рейтинг:
2

Rajesh Anuhya

Вы пробовали это??
Здесь[^]


Lijo Sebastian

@Rajesh: спасибо за ваш ответ. Да, я сделал попытку вашей связи. Он работает только для текущей сессии. Если пользователь перезагрузит систему, шрифт будет недоступен. Итак, я пытаюсь получить шрифт в папке Fonts, чтобы он сохранялся вечно. Я был бы рад, если бы вы получили дополнительную информацию об этом. Спасибо.

Рейтинг:
2

Kevheathfield

Ключи реестра моя задница..

Я трачу часы на поиск ключей реестра fo;

RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Fonts", 0, KEY_ALL_ACCESS, &hkey);


Не существует?