Свойства экрана — установка шрифта.

Ответить
Аватара пользователя
semiono

Свойства экрана — установка шрифта.

Сообщение semiono »

Код:

Код: Выделить всё

ShellExecute('control','desk.cpl,,2')
ProgressOn('','','',-1,-1,1)
For $i = 10 to 100 step 10
    Sleep(50)
    ProgressSet($i)
    $x = WinGetHandle('#32770','Display Properties')
Next
If WinExists($x) Then
	WinActivate($x)
	WinMove($x,'',-404,25)
	ControlFocus($x,'','ComboBox3')
	ControlCommand($x,'','ComboBox3','SelectString','Tahoma')
		ControlClick($x,'','Button3')
EndIf
; на всякий случай чтобы зачистить зависший rundll32.exe, можно раскоментировать
; Sleep(1000)
; $PID = ProcessExists('rundll32.exe')
; If $PID Then ProcessClose($PID)

Вот накатал для desk.cpl скриптик. Для русской системы надо изменить название элементов GUI.

Если что не так поправьте.

:beer:
Аватара пользователя
Iska

Re: Свойства экрана — установка шрифта.

Сообщение Iska »

semiono, кроме «Вашего» «rundll32.exe» в системе может быть ещё несколько «чужих».



И название темы я бы поменял: под «установкой шрифта» обычно понимают именно установку шрифта в систему.
Аватара пользователя
Creat0R

Re: Свойства экрана — установка шрифта.

Сообщение Creat0R »

Цитата semiono:



Если что не так поправьте.
Свойства экрана — установка шрифта.




Всё не так.



У меня на первоначальном диалоге нет Combo с выбором шрифтов.

И зачем в цикле получать Handle окна?



В первом сообщений нет описаний, что делает скрипт.
Аватара пользователя
semiono

Re: Свойства экрана — установка шрифта.

Сообщение semiono »

Цитата Creat0R:



В первом сообщений нет описаний, что делает скрипт.
Свойства экрана — установка шрифта.




Скрипт выбирает шрифт для установленной темы Windows XP.

Кстати, я сейчас понял что там не так! Шрифт предоставляется самой темой, а вернее стилем *.msstyles,

поэтому понятно, что в Windows Classic.theme - вообще нету никаких Arial, Lucida, Tahoma.



Изображение



Вообщем меня попросили, я наспех написал скрипт, возможно что продолжение требуется.

По кнопке "Дополонительтно", там имеются ещё переключатели, я предполагаю,

что они именно влияют на настройки включаемые в *.theme файл.



Вопрос вообще был в том, как автоматически применить установку шрифта в реестре без перезагрузки.




Цитата:



И зачем в цикле получать Handle окна?



Потому что я ламер Изображение



Однако то что написал работает железно, при конкретных свойствах.

Если кому надо можно продолжить. Мне самому это тоже интересно, похожий скрипт меня уже выручал с установкой самой темы msstyle.
Аватара пользователя
Creat0R

Re: Свойства экрана — установка шрифта.

Сообщение Creat0R »

Цитата semiono:



как автоматически применить установку шрифта в реестре без перезагрузки.
Свойства экрана — установка шрифта.




Не знаю на счёт перезагрузки, но кажется тут это делается:



Код:

Код: Выделить всё

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
Аватара пользователя
semiono

Re: Свойства экрана — установка шрифта.

Сообщение semiono »

Если со шрифтами может быть не всё однозначно, то у меня есть задача более конкретная.

Например, меня всегда раздражает тень под меню:

Display Properties/Appearance/Effects/> (извиняюсь за английский)

Show shadows under menu [убрать галочку]

Это тоже можно изменить в реестре

HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferencesMask

и так же безрезультатно без перезагрузки.

Так что если desk.cpl это единственный путь, то напишите скрипт чтоб хорошо работал.

Локализацию я сам изменю, по-русски пойдёт!

Изображение




Цитата Iska:



semiono, кроме «Вашего» «rundll32.exe» в системе может быть ещё несколько «чужих».
Свойства экрана — установка шрифта.




Если они вызваны другим процессом, то сами запустятся снова, на практике наблюдал когда драйверы устанавливаются,

то их практически нельзя остановить, всё остальное мусор. Если rundll32.exe критический то он заново откроется.
Ответить

Вернуться в «AutoIt»