Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2023, 20:35   #1
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 248
По умолчанию Помогите установить Шрифты в Систему Windows

Добрый день.

написал такой вот скрипт но ничего не выходит. помогите установить шрифты в систему.

Код:
uses ShellApi;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
str:string;
begin
str:= 'function WriteLog' + #13#10 +
      '{' + #13#10 +
      'Param ([string]$LogString)'  + #13#10 +
      '$Stamp = (Get-Date).toString("yyyy/MM/dd HH:mm:ss")' + #13#10 +
      '$LogMessage = "$Stamp $LogString"' + #13#10 +
      'Add-content $LogFile -value $LogMessage' + #13#10 +
      '}' + #13#10 +
      '$Logfile = "C:\windows\fontinstall.log"' + #13#10 +
      '$SourceFolder = "C:\NewFonts"' + #13#10 +
      'Add-Type -AssemblyName System.Drawing' + #13#10 +
      '$WindowsFonts = [System.Drawing.Text.PrivateFontCollection]::new()' + #13#10 + #13#10 +
      'Get-ChildItem -Path $SourceFolder -Include *.ttf, *.otf -Recurse -File |' + #13#10 +
      'Copy-Item -Destination "$env:SystemRoot\Fonts" -Force -Confirm:$false -PassThru |' + #13#10 +
      'ForEach-Object {' + #13#10 +
      'WriteLog "Installing font file $_.Name"' + #13#10 +
      '$WindowsFonts.AddFontFile($_.fullname)' + #13#10 +
      '$RegistryValue = @{' + #13#10 +
      'Path = ' + 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts' + '' + #13#10 +
      'Name = $WindowsFonts.Families[-1].Name' + #13#10 +
      'Value = $_.Fullname' + #13#10 +
      '}' + #13#10 +
      '$RemoveRegistry = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts"' + #13#10 +
      'Remove-ItemProperty -name $($WindowsFonts.Families[-1].Name) -path $RemoveRegistry' + #13#10 +
      'New-ItemProperty @RegistryValue' + #13#10 +
      '}';

ShellExecute(handle,nil, 'powershell.exe',pchar(str) ,nil, Sw_ShowNormal);
end;
только не так

Код:
AddFontResource('C:\NewFonts\123.ttf');
AppData вне форума Ответить с цитированием
Старый 19.10.2023, 07:23   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

ого! через реестр пошли... мощно.
а чем эта строка не устраивает?
Код:
AddFontResource('C:\NewFonts\123.ttf');
система не видит вашего нового шрифта 123.ttf ?
а эта ваша строка, если её вручную со всеми пробелами вводить в оболочке PowerShell с правами администратора, то шрифт встаёт? пробовали?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 19.10.2023 в 07:28.
NetSpace вне форума Ответить с цитированием
Старый 19.10.2023, 07:31   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
а чем эта строка не устраивает?
Устанавливает только на сессию

Цитата:
Сообщение от AppData Посмотреть сообщение
написал такой вот скрипт но ничего не выходит
Что не выходит? В реестр прописывается?
p51x вне форума Ответить с цитированием
Старый 19.10.2023, 16:37   #4
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 248
По умолчанию

необходимо установить пак шрифтов в систему а не использовать во время работы проекта Projec1.exe
суть в установке, и даже если скопировать шрифты в папку C:\Windows\Fonts работать не будет
AppData вне форума Ответить с цитированием
Старый 25.10.2023, 20:10   #5
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 248
По умолчанию

неужели никто не знает как?
AppData вне форума Ответить с цитированием
Старый 25.10.2023, 23:27   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Так вы и не ответили, что не получается? В реестр пишется? После перезагрузки шрифты видятся?
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите установить windows 8.1 Линар20 Windows 10 16.12.2014 19:32
Как установить систему на флешку? Алексей_2012 Операционные системы общие вопросы 4 30.03.2012 11:58
Шрифты Delphi и английская Windows 7 Dux Общие вопросы Delphi 4 08.01.2011 02:06
не могу установить систему.. ridlin Операционные системы общие вопросы 4 02.12.2009 18:57
Помогите удалить Linux и установить Windows kov34dml Windows 9 03.11.2009 21:40