Недавние сообщения

Страницы: 1 ... 8 9 [10]
91
Стол заказов / Re: Отключить все эффекты
« Последний ответ от InnI Отправлен Сентябрь 09, 2018, 14:43:04 »
SharkyEXE  [?]
Цитировать
Это и будет решение проблемы
Какая наивная самоуверенность.

Цитировать
получить порядковый номер строки, в которой написано "Динамики"
Именно это делает та строка кода, после которой у вас ошибка.
Поймите, что, если при обращении к списку происходит вылет, то мы не сможем ни найти текст, ни получить текст пункта или выделения. В лучшем случае узнаем количество пунктов. Пробуйте этот код
Код: AutoIt [Выделить]
ShellExecute("mmsys.cpl")
WinWaitActive("Звук")

$iCount = ControlListView("Звук", "", "SysListView321", "GetItemCount")
For $i = 0 To $iCount - 1
  If ControlListView("Звук", "", "SysListView321", "GetText", $i) = "Динамики" Then ExitLoop
Next
If $i = $iCount Then Exit MsgBox(262144, "Ошибка", "Пункт 'Динамики' не найден")
Send("{down " & $i + 1 & "}")
ControlClick("Звук", "", "Button3")



Добавлено: Сентябрь 09, 2018, 14:46:56
SharkyEXE  [?]
Цитировать
редирект закомментирован
Комментарии в AutoIt начинаются с символа ; (точка с запятой)
92
Стол заказов / Re: Отключить все эффекты
« Последний ответ от SharkyEXE Отправлен Сентябрь 09, 2018, 14:32:17 »
Ещё раз повторю: уберите из кода отключение редиректа и посмотрите, что будет.

Убрал, на видео видно, что редирект закомментирован, вот ссылка - https://yadi.sk/i/_O7q4Y6_9PLYMA

Вы можете, пожалуйста, я Вас очень прошу, сделать так, из окна с заголовком "Звук" получить порядковый номер строки, в которой написано "Динамики" , это число загнать в переменную, типа $a

Переменную $a загнать сюда Send("^{Down $a}") , где $a - может быть 1, 2 или 5 или любая цифра

Это и будет решение проблемы
93
Стол заказов / Re: Отключить все эффекты
« Последний ответ от InnI Отправлен Сентябрь 09, 2018, 14:10:55 »
Ещё раз повторю: уберите из кода отключение редиректа и посмотрите, что будет.
94
Стол заказов / Re: Отключить все эффекты
« Последний ответ от SharkyEXE Отправлен Сентябрь 09, 2018, 13:49:43 »
Какая ошибка? И как вы определили, что именно после этой строки?
После этой строки идёт строка нажатия пробела. Может, всё-таки, после нажатия пробела ошибка?

После строки
Код: AutoIt [Выделить]
$iItem = ControlListView("Звук", "", "SysListView321", "FindItem", "Динамики")

вставил строку
Код: AutoIt [Выделить]
Sleep ( 100000 )


Запустил скрипт - F5 , появилось окно с заголовком "Звук" и сразу же ошибка - прикрепил картинку к этому сообщению.

Нет желания никогда никому создавать проблемы, вот видео - https://yadi.sk/i/_mItqoAZVeS16A
95
Стол заказов / Re: Отключить все эффекты
« Последний ответ от InnI Отправлен Сентябрь 09, 2018, 13:44:17 »
SharkyEXE  [?]
Цитировать
после отработки строки ошибка
Какая ошибка? И как вы определили, что именно после этой строки?
После этой строки идёт строка нажатия пробела. Может, всё-таки, после нажатия пробела ошибка?
96
Стол заказов / Re: Отключить все эффекты
« Последний ответ от SharkyEXE Отправлен Сентябрь 09, 2018, 13:34:39 »
InnI

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

Вы извините меня, пожалуйста, может быть я не не так выразил мысль

Я здесь поглубже проверил, ошибка у меня выдается сразу же после строки
Код: AutoIt [Выделить]
$iItem = ControlListView("Звук", "", "SysListView321", "FindItem", "Динамики")


То есть до строки
Код: AutoIt [Выделить]
$iItem = ControlListView("Звук", "", "SysListView321", "FindItem", "Динамики")

ошибки нету , после отработки строки
Код: AutoIt [Выделить]
$iItem = ControlListView("Звук", "", "SysListView321", "FindItem", "Динамики")

ошибка

Поэтому я очнеь Вас прошу - можете , пожалуйста, другой алгоритм выделения придумать, очень надо

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

А мне хочется по другому поиск строки "Динамики" , выделить эту строку - типа один раз на эту строку нажать левой кнопкой мышки - будет синее выделение или еще как-то
97
Стол заказов / Re: Отключить все эффекты
« Последний ответ от InnI Отправлен Сентябрь 09, 2018, 13:28:17 »
SharkyEXE  [?]
Цитировать
чтобы строка "Динамики" искалась, на нее ставилось выделение
Вы издеваетесь?! Мы с этого начали ещё в той теме. А в этой продублировали в первом же скрипте. Посмотрите собственный спойлер в описании темы.
98
Стол заказов / [Файловая система] Скопировать файл на во все папки на флэшке
« Последний ответ от retwyware Отправлен Сентябрь 09, 2018, 13:10:34 »
Версия AutoIt: 3.
3.3.14.5
Описание:
Всем привет. На флэшке с буквой F есть много папок с картинками, мне нужно, чтобы картинка рядом со скриптом скопировалась сразу во все папки и подпапки на ней. То есть, чтобы в каждой папке была картинка 1.jpg.

Заранее благодарен.
99
Стол заказов / Re: Отключить все эффекты
« Последний ответ от SharkyEXE Отправлен Сентябрь 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й сверху вниз
100
Стол заказов / Re: Отключить все эффекты
« Последний ответ от joiner Отправлен Сентябрь 09, 2018, 12:57:45 »
 у меня при запуске кода как х86 вообще нет вкладки дополнительных режимов. а если запускаю код как х64, то вкладка есть. НО! там все на аглицком. поэтому универсально сделать сложно
система win 10 x64
но в общем, код от InnI отрабатывается без ошибок.
Страницы: 1 ... 8 9 [10]