Автор Тема: Отключить все эффекты  (Прочитано 1279 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн SharkyEXE [?]

  • Новичок
  • *
  • Сообщений: 80
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Отключить все эффекты
« Создано: Сентябрь 08, 2018, 17:38:34 »
Версия AutoIt: 3.3.14.0

Описание:

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

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

После запуска кода тынц
(нажмите для показа/скрытия)
от уважаемого InnI появляется окно с заголовком Свойства: Динамики

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

1) в окне с заголовком Свойства: Динамики найти вкладку Дополнительные возможности ( вкладка может быть под любым номером )

2) в окне с заголовком Свойства: Динамики нажать на вкладку Дополнительные возможности

3-1) если установлена птичка/галочка на строке Отключить все эффекты : в окне с заголовком Свойства: Динамики нажать кнопку Отмена

3-2) если не установлена птичка/галочка на строке Отключить все эффекты :
- поставить птичку\галочку в строке Отключить все эффекты
- в окне с заголовком Свойства: Динамики нажать кнопку Применить
- в окне с заголовком Свойства: Динамики нажать кнопку ОК

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

Спасибо.

Примечания:

Отсутствуют


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться
« Последнее редактирование: Сентябрь 08, 2018, 17:52:28 от SharkyEXE »
Скорблю и помню.


Русское сообщество AutoIt

Отключить все эффекты
« Отправлен: Сентябрь 08, 2018, 17:38:34 »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3973
  • Репутация: 1055
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #1, Отправлен: Сентябрь 08, 2018, 18:15:56 »
Код: AutoIt [Выделить]
ShellExecute("mmsys.cpl")
WinWaitActive("Звук")

$iItem = ControlListView("Звук", "", "SysListView321", "FindItem", "Динамики")
ControlListView("Звук", "", "SysListView321", "Select", $iItem)
ControlSend("Звук", "", "SysListView321", "{space}")

WinWaitActive("Свойства: Динамики")
Send("^{tab}")
Send("^{tab}")
For $i = 0 To 9
  If ControlCommand("Свойства: Динамики", "", "Отключить все эффекты", "IsEnabled") Then ExitLoop
  Sleep(30)
Next
If $i = 10 Then Exit MsgBox(262144, "Ошибка", "Переключатель 'Отключить все эффекты' не найден")
If ControlCommand("Свойства: Динамики", "", "Отключить все эффекты", "IsChecked") Then
  Send("{esc}")
  WinWaitClose("Свойства: Динамики")
  Send("{esc}")
Else
  ControlClick("Свойства: Динамики", "", "Отключить все эффекты")
  Send("{enter}")
  WinWaitClose("Свойства: Динамики")
  Send("{enter}")
EndIf


Оффлайн SharkyEXE [?]

  • Новичок
  • *
  • Сообщений: 80

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #2, Отправлен: Сентябрь 08, 2018, 18:30:12 »
InnI

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

Ваш код почему-то не сработал , птичка не установилась, выдалось сообщение


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3973
  • Репутация: 1055
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #3, Отправлен: Сентябрь 08, 2018, 18:37:02 »
Посмотрите информацию в Au3Info. Вероятно, в названии присутствует амперсанд: "Откл&ючить все эффекты". Если так, то поправьте все названия в скрипте. Просто у меня эта опция называется по другому. Или замените название на ClassnameNN ("Button1" или что там у вас).
« Последнее редактирование: Сентябрь 08, 2018, 18:46:47 от InnI »

Русское сообщество AutoIt

Re: Отключить все эффекты
« Ответ #3 Отправлен: Сентябрь 08, 2018, 18:37:02 »

Оффлайн SharkyEXE [?]

  • Новичок
  • *
  • Сообщений: 80

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #4, Отправлен: Сентябрь 08, 2018, 19:18:27 »
InnI

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

Прилагаю картинки, как определяется строка Отключить все эффекты в программе Autoit Windows Info

Лично я всегда был, остаюсь и буду за максимальную универсальность

Пожалуйста, я Вас очень прошу, сделайте так сказать "поиск по всем фронтам" строки Отключить все эффекты - например у Вас работает Отключить все эффекты , у меня 100%но работает Откл&ючить все эффекты , я Вас очень прошу

Спасибо.


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться
« Последнее редактирование: Сентябрь 08, 2018, 19:25:41 от SharkyEXE »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3973
  • Репутация: 1055
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #5, Отправлен: Сентябрь 08, 2018, 19:45:20 »
У меня -> у вас:
- название вкладки: "Улучшения" -> "Дополнительные возможности"
- текст переключателя: "Отключение всех звуковых эффектов" -> "Откл&ючить все эффекты"
- ClassnameNN переключателя: "Button1" -> "Button2"

А ещё у меня есть переключатель "Button2" с текстом "Неотложный режим", которого у вас нет.
Поэтому сделать универсально довольно проблематично.

Оффлайн SharkyEXE [?]

  • Новичок
  • *
  • Сообщений: 80

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #6, Отправлен: Сентябрь 08, 2018, 20:01:21 »
InnI

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

Немного знаком с условиями, а нельзя никак сделать по простому

If
ControlCommand("Свойства: Динамики", "", "Отключить все эффекты", "IsEnabled")
OR
ControlCommand("Свойства: Динамики", "", "Откл&ючить все эффекты", "IsEnabled")

ControlClick("Свойства: Динамики", "", "Отключить все эффекты")
OR
ControlClick("Свойства: Динамики", "", "Откл&ючить все эффекты")

Конечно, Вы это сделаете красиво

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3973
  • Репутация: 1055
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #7, Отправлен: Сентябрь 08, 2018, 20:27:36 »
SharkyEXE  [?]
Цитировать
а нельзя никак сделать по простому
Можно. Но это будет персонально для вас и для меня, а не универсально для всех.
К тому же мне это не надо, а для вас я сделал. Следовательно, усложнение кода бессмысленно.

Русское сообщество AutoIt

Re: Отключить все эффекты
« Ответ #7 Отправлен: Сентябрь 08, 2018, 20:27:36 »

Оффлайн SharkyEXE [?]

  • Новичок
  • *
  • Сообщений: 80

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #8, Отправлен: Сентябрь 09, 2018, 10:56:00 »
InnI

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

В общем, при тестировании , при запуске , команда
Код: AutoIt [Выделить]
ShellExecute("mmsys.cpl")

на некоторых системах у меня появляется ошибка

Однако, если запустить окно с заголовком "Звук":
1) через "Пуск" - "Панель управления "- нажать на кнопку "Звук"
или
2) запустить вручную, двойной клик левой кнопкой мышки по ярлыку Upravlenie_zvukovymi_ustrojstvami.lnk

то ошибки нету

Пожалуйста, я Вас очень прошу, напишите, как сделать
1) через "Пуск" - "Панель управления "- нажать на кнопку "Звук"
или
2) запустить вручную, двойной клик левой кнопкой мышки по ярлыку Upravlenie_zvukovymi_ustrojstvami.lnk

Для моего немного развития в Autoit хотелось бы увидеть оба способа , я Вас прошу

Спасибо.


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3973
  • Репутация: 1055
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #9, Отправлен: Сентябрь 09, 2018, 11:37:47 »
SharkyEXE  [?]
Цитировать
на некоторых системах у меня появляется ошибка
Уберите отключение редиректа, скомпилируйте, как х86 и будет работать на любой системе.

Имитация запуска через ярлык
Код: AutoIt [Выделить]
Run("rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl")


Оффлайн SharkyEXE [?]

  • Новичок
  • *
  • Сообщений: 80

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #10, Отправлен: Сентябрь 09, 2018, 11:52:23 »
InnI

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

Уберите отключение редиректа, скомпилируйте, как х86 и будет работать на любой системе.

У меня х64 система , в общем, я даже не компилирую, тупо запускаю на выполнение - F5 - у меня ошибка

В общем, у меня сборка, может из-за этого

С Вашей строкой
Код: AutoIt [Выделить]
Run("rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl")

тоже ошибка

Тут больше 100%но сделать
) через "Пуск" - "Панель управления "- нажать на кнопку "Звук"
или
2) запустить вручную, двойной клик левой кнопкой мышки по ярлыку Upravlenie_zvukovymi_ustrojstvami.lnk

тогда точно будет работать, я уже пробовал, вручную эти оба способа ошибку не выдают
« Последнее редактирование: Сентябрь 09, 2018, 12:04:01 от SharkyEXE »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3973
  • Репутация: 1055
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #11, Отправлен: Сентябрь 09, 2018, 12:02:50 »
Попробуйте через полный путь к ярлыку
Код: AutoIt [Выделить]
ShellExecute(@DesktopDir & "\Upravlenie_zvukovymi_ustrojstvami.lnk") ; ярлык на рабочем столе пользователя


Оффлайн SharkyEXE [?]

  • Новичок
  • *
  • Сообщений: 80

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #12, Отправлен: Сентябрь 09, 2018, 12:05:38 »
InnI

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

Попробуйте через полный путь к ярлыку

То же ошибка

Повторюсь, оба способа, что я описал -  вручную работают 100%но , другой вопрос, можно или нельзя их сделать на AutoIt

Оффлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2797
  • Репутация: 472
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Отключить все эффекты
« Ответ #13, Отправлен: Сентябрь 09, 2018, 12:57:45 »
 у меня при запуске кода как х86 вообще нет вкладки дополнительных режимов. а если запускаю код как х64, то вкладка есть. НО! там все на аглицком. поэтому универсально сделать сложно
система win 10 x64
но в общем, код от InnI отрабатывается без ошибок.
Были времена, когда солнце было ярче, трава зеленее, а водка сорокоградуснее

Оффлайн SharkyEXE [?]

  • Новичок
  • *
  • Сообщений: 80

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Отключить все эффекты
« Ответ #14, Отправлен: Сентябрь 09, 2018, 13:04:05 »
InnI , joiner

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

Под себя подогнал - рабоатет как часы

Код: AutoIt [Выделить]
If @OSArch = "X86" Then

RunWait("control.exe")

EndIf

If @OSArch = "X64" Then

# http://forum.ru-board.com/topic.cgi?forum=5&topic=33902&start=2560#11

$tValue = DllStructCreate ( "dword" )

# Отключить редирект System32 -> SysWOW64
DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "ptr", DllStructGetPtr($tValue))

RunWait("control.exe")

# Включить редирект System32 -> SysWOW64
DllCall("kernel32.dll", "int", "Wow64RevertWow64FsRedirection", "ptr", DllStructGetPtr($tValue))

EndIf

# Ожидаем появления окна с заголовком " Панель управления "
WinWait ( "Панель управления", "" )

# Активируем окно с заголовком " Панель управления "
WinActivate ( "Панель управления", "" )

WinWaitActive ( "Панель управления", "" )

WinSetOnTop ( "Панель управления", "", 1 )

ControlSend("", "", "[CLASS:DirectUIHWND; INSTANCE:2]", "Звук")
ControlSend("", "", "[CLASS:DirectUIHWND; INSTANCE:2]", "^{Enter}")

WinWaitActive("Звук")

Send("^{Down 3}")

ControlFocus ( "Звук", "", "[CLASS:Button; INSTANCE:3]" )
ControlClick ( "Звук", "", "[CLASS:Button; INSTANCE:3]" )

WinWaitActive("Свойства: Динамики")
Send("^{tab}")
Send("^{tab}")
For $i = 0 To 9
  If ControlCommand("Свойства: Динамики", "", "Откл&ючить все эффекты", "IsEnabled") Then ExitLoop
  Sleep(30)
Next
If $i = 10 Then Exit MsgBox(262144, "Ошибка", "Переключатель 'Отключить все эффекты' не найден")
If ControlCommand("Свойства: Динамики", "", "Откл&ючить все эффекты", "IsChecked") Then
# В окне с заголовком " Свойства: Динамики " нажать кнопку " Отмена "
  ControlFocus ( "Свойства: Динамики", "", "[CLASS:Button; INSTANCE:15]" )
  ControlClick ( "Свойства: Динамики", "", "[CLASS:Button; INSTANCE:15]" )
  WinWaitClose("Свойства: Динамики")
# В окне с заголовком " Звук " нажать кнопку " Отмена "
  ControlFocus ( "Звук", "", "[CLASS:Button; INSTANCE:5]" )
  ControlClick ( "Звук", "", "[CLASS:Button; INSTANCE:5]" )
# Закрыть окно с заголовком " Панель управления "
  WinClose("Панель управления")
Else
# Поставить птичку/галочку " Отключить все эффекты "
  ControlClick("Свойства: Динамики", "", "Откл&ючить все эффекты")
# В окне с заголовком " Свойства: Динамики " нажать кнопку " Применить "
  ControlFocus ( "Свойства: Динамики", "", "[CLASS:Button; INSTANCE:16]" )
  ControlClick ( "Свойства: Динамики", "", "[CLASS:Button; INSTANCE:16]" )
# В окне с заголовком " Свойства: Динамики " нажать кнопку " ОК "
  ControlFocus ( "Свойства: Динамики", "", "[CLASS:Button; INSTANCE:14]" )
  ControlClick ( "Свойства: Динамики", "", "[CLASS:Button; INSTANCE:14]" )
  WinWaitClose("Свойства: Динамики")
# В окне с заголовком " Звук " нажать кнопку " ОК "
  ControlFocus ( "Звук", "", "[CLASS:Button; INSTANCE:4]" )
  ControlClick ( "Звук", "", "[CLASS:Button; INSTANCE:4]" )
# Закрыть окно с заголовком " Панель управления "
  WinClose("Панель управления")
EndIf
 


У меня к Вам просьба - сделайте, пожалуйста, грамотно, чтобы при запуске окна с загловком "Звук" , чтобы строка "Динамики" искалась, на нее ставилось выделение - синяя строка - см. картинку к этому моему сообщению

А так у меня по тупому Send("^{Down 3}") - строка "Динамики" может быть и 1й сверху вниз, и 5й сверху вниз


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться
« Последнее редактирование: Сентябрь 09, 2018, 13:29:08 от SharkyEXE »

Русское сообщество AutoIt

Re: Отключить все эффекты
« Ответ #14 Отправлен: Сентябрь 09, 2018, 13:04:05 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
5 Ответов
5232 Просмотров
Последний ответ Декабрь 02, 2011, 15:25:10
от neobi
1 Ответов
3891 Просмотров
Последний ответ Февраль 21, 2014, 17:57:27
от Dimmak
15 Ответов
3470 Просмотров
Последний ответ Июнь 15, 2014, 18:12:03
от bradu
0 Ответов
551 Просмотров
Последний ответ Январь 16, 2015, 08:47:05
от Primusx
2 Ответов
1351 Просмотров
Последний ответ Февраль 18, 2015, 21:45:41
от mir546
1 Ответов
1855 Просмотров
Последний ответ Февраль 07, 2016, 00:09:55
от Garrett
9 Ответов
3790 Просмотров
Последний ответ Февраль 19, 2016, 19:02:23
от weweWe45s
5 Ответов
620 Просмотров
Последний ответ Август 14, 2017, 13:27:09
от zz555
2 Ответов
440 Просмотров
Последний ответ Ноябрь 13, 2017, 22:28:07
от Alofa
1 Ответов
417 Просмотров
Последний ответ Октябрь 06, 2018, 18:37:19
от Tempo