Что нового

Установить птичку в окне с заголовком "Параметры быстродействия"

SharkyEXE

Новичок
Сообщения
134
Репутация
0
Версия AutoIt: 3.3.14.2

Описание:
1) Операционная система: MS Windows 7 Pro x64 SP1 Rus
2) Пуск -> Все программы -> Стандартные -> Выполнить -> в строке Открыть: вводим SystemPropertiesPerformance.exe -> ОК
3) Появится окно с заголовком Параметры быстродействия
4) Хочется в окне с заголовком Параметры быстродействия установить птичку слева от строки Сглаживать неровности экранных шрифтов

5) Алгоритм хотелось бы такой:
5-0) Запускается окно с заголовком Параметры быстродействия
5-1) в окне с заголовком Параметры быстродействия находим строку Сглаживать неровности экранных шрифтов
5-2) если птичка слева от строки Сглаживать неровности экранных шрифтов установлена - то в окне с заголовком Параметры быстродействия нажать кнопку Отмена
5-3) если птичка слева от строки Сглаживать неровности экранных шрифтов не установлена - то:
5-3-1) установить птичку слева от строки Сглаживать неровности экранных шрифтов
5-3-2) в окне с заголовком Параметры быстродействия нажать кнопку ОК

Спасибо.
 

Вложения

  • 2016-01-30.gif
    2016-01-30.gif
    12 КБ · Просмотры: 27

alex33

Скриптер
Сообщения
1,457
Репутация
186
Код:
#RequireAdmin ; запрашиваем права администратора
#include <GuiTreeView.au3>
Local $hwnd, $hTree1, $hItem, $hOKButton, $hCancelButton
ShellExecute("SystemPropertiesPerformance.exe") ; запускаем
$hwnd = WinWait("[TITLE:Параметры быстродействия; CLASS:#32770]", "", 5) ; ждём окно
If Not $hwnd Then Exit 1 ; если окно не появилось - выход
$hOKButton = ControlGetHandle($hwnd, "", "Button5") ; указатель на кнопку ОК
$hCancelButton=ControlGetHandle($hwnd,"","Button6") ; указатель на кнопку Отмена
$hTree1 = ControlGetHandle($hwnd, "", "SysTreeView321") ; указатель на дерево
$hItem = _GUICtrlTreeView_FindItem($hTree1, "Сглаживать неровности экранных шрифтов-OFF") ; ищем нужный элемент в выключенном состоянии
If $hItem <> 0 Then ; если он найден
	_GUICtrlTreeView_SelectItem($hTree1, $hItem) ; выделяем
	_GUICtrlTreeView_ClickItem($hTree1, $hItem) ; и включаем
	ControlClick($hwnd, "", $hOKButton) ; нажимаем на кнопку ОК
	ConsoleWrite("OK" & @CRLF)
Else ; иначе, если он уже включен и / или не найден
	ControlClick($hwnd, "", $hCancelButton) ; нажимаем на кнопку Отмена
	ConsoleWrite("Отмена" & @CRLF)
EndIf
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Может так будет проще?

Код:
#include <WinAPI.au3>
#include <WinAPIsysinfoConstants.au3>

_WinAPI_SystemParametersInfo($SPI_SETFONTSMOOTHING, True, 0, BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE))
_WinAPI_SystemParametersInfo($SPI_SETFONTSMOOTHINGTYPE, 0, $FE_FONTSMOOTHINGCLEARTYPE, BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE))
 
Автор
S

SharkyEXE

Новичок
Сообщения
134
Репутация
0
CreatoR сказал(а):
Может так будет проще?

Код:
#include <WinAPI.au3>
#include <WinAPIsysinfoConstants.au3>

_WinAPI_SystemParametersInfo($SPI_SETFONTSMOOTHING, True, 0, BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE))
_WinAPI_SystemParametersInfo($SPI_SETFONTSMOOTHINGTYPE, 0, $FE_FONTSMOOTHINGCLEARTYPE, BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE))
Здравствуйте.
А что в Вашем коде менять, чтобы ставить птички для других строк?
Например в окне с заголовком Параметры быстродействия установить птичку слева от строки Гладкое прокручивание списков
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
SharkyEXE [?]
А что в Вашем коде менять, чтобы ставить птички для других строк?
$SPI_SET*
Константы можно посмотреть тут.

[?]
Например в окне с заголовком Параметры быстродействия установить птичку слева от строки Гладкое прокручивание списков
Код:
_WinAPI_SystemParametersInfo($SPI_SETLISTBOXSMOOTHSCROLLING, True, 0, BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE))
 
A

Alofa

Гость
OffTopic:
CreatoR сказал(а):
Код:
_WinAPI_SystemParametersInfo($SPI_SETLISTBOXSMOOTHSCROLLING, True, 0, BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE))
В таком виде у меня возвращает “0".
По идее ...
SPI_SETLISTBOXSMOOTHSCROLLING
0x1007
Enables or disables the smooth-scrolling effect for list boxes. Set the pvParam parameter to TRUE to enable the smooth-scrolling effect, or FALSE to disable it.
... надо писать так:
Код:
_WinAPI_SystemParametersInfo($SPI_SETLISTBOXSMOOTHSCROLLING, 0, True, BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE))

Возвращает "1", но галочку все равно не выставляет :scratch:
(Win-7 x64)
 
Автор
S

SharkyEXE

Новичок
Сообщения
134
Репутация
0
Alofa сказал(а):
Возвращает "1", но галочку все равно не выставляет :scratch:
Насколько я понял, этот код работает
Код:
#include <WinAPI.au3>
#include <WinAPIsysinfoConstants.au3>

_WinAPI_SystemParametersInfo($SPI_SETFONTSMOOTHING, True, 0, BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE))
_WinAPI_SystemParametersInfo($SPI_SETFONTSMOOTHINGTYPE, 0, $FE_FONTSMOOTHINGCLEARTYPE, BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE))

Я убрал птичку с глаживания, нажал ОК, закрыл все окна, текст на рабочем столе стал "типа кубики"
Запустил скрипт, текст на рабочем столе стал таким, как был до того, как я снял птичку.
Залез в настройки, птичка не установлена, а хотелось бы, чтобы птичка стояла.
 
Автор
S

SharkyEXE

Новичок
Сообщения
134
Репутация
0
alex33
А как В Вашем примере сделать так, чтобы окно "Параметры быстродействия" запускалось скрытым или свернутым и далее по Вашему алгоритму все?
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
SharkyEXE сказал(а):
alex33
А как В Вашем примере сделать так, чтобы окно "Параметры быстродействия" запускалось скрытым или свернутым и далее по Вашему алгоритму все?
Я попробовал, но что-то не получилось, ни на какие команды (типа @SW_MINIMIZE , @SW_HIDE , @SW_DISABLE ) окно не воспринимает... Ну и ничего, что оно появляется, оно у меня появляется только на одну секунду или даже меньше...
 
Автор
S

SharkyEXE

Новичок
Сообщения
134
Репутация
0
alex33 сказал(а):
Я попробовал, но что-то не получилось, ни на какие команды (типа @SW_MINIMIZE , @SW_HIDE , @SW_DISABLE ) окно не воспринимает... Ну и ничего, что оно появляется, оно у меня появляется только на одну секунду или даже меньше...
Я пробовал команду WinMove, не срабатывает
 
Автор
S

SharkyEXE

Новичок
Сообщения
134
Репутация
0
CreatoR

Здравствуйте.

Возвращаясь к Вашему совету http://autoit-script.ru/index.php?topic=21700.msg127484#msg127484, пожалуйста, помогите сделать так, чтобы галочка выставлялась

alex33

Здравствуйте.

Возвращаясь к Вашему совету http://autoit-script.ru/index.php?topic=21700.msg127477#msg127477, так и должно быть, что у Вас написано
Код:
Сглаживать неровности экранных шрифтов-OFF
?

Или должно быть написано
Код:
Сглаживать неровности экранных шрифтов
( без слова OFF )?

Спаисбо.
 
Автор
S

SharkyEXE

Новичок
Сообщения
134
Репутация
0
Версия AutoIt: 3.3.14.0

Описание:

Всем здравствуйте.

1) Операционная система: Microsoft Windows 7 Professional Service Pack 1 x64
2) Контроль учетных записей: ВЫКЛючен

Пожалуйста, помогите, мне нужно

1) Пуск -> Все программы -> Стандартные -> Выполнить

2) Появилось окно с заголовком Выполнить

3) В строке Открыть: вводим SystemPropertiesPerformance.exe

4) В окне с заголовком Выполнить нажимаем кнопку ОК

5) Появилось окно с заголовком Параметры быстродействия

6) Найти по названию вкладку Визуальные эффекты

Что значит "Найти по названию вкладку Визуальные эффекты"?

После запуска SystemPropertiesPerformance.exe мы можем находиться на вкладке Дополнительно или Предотвращение выполнения данных

7) Нажать на вкладку Визуальные эффекты

8_ В окне с заголовком Параметры быстродействия , в списке найти по названию строку Сглаживать неровности экранных шрифтов

8-1) если установлена птичка/галочка на строке Сглаживать неровности экранных шрифтов : в окне с заголовком Параметры быстродействия нажать кнопку Отмена

8-2) если не установлена птичка/галочка на строке Сглаживать неровности экранных шрифтов :
- поставить птичку\галочку в строке Сглаживать неровности экранных шрифтов
- в окне с заголовком Параметры быстродействия нажать кнопку Применить
- в окне с заголовком Параметры быстродействия нажать кнопку ОК

Спасибо.

Примечания:

Отсутствуют
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
два года спустя? :smile:
 
Верх