Здравствуйте
1) Спасибо Вам за науку, что учите, объясняете
Попробую и напишу Вам, получилось у меня или нет!
Просьба не обижаться, но максимально хочется готовый, самодостаточный скрипт, так сказать - внутри одного файла включено все.
Надеюсь, Вы меня понимаете, так сказать, чтобы один файл запускать, а внутри файла уже, что нужно для работы файла есть, а не один файл иметь, а этому одному файлу еще вагон библиотек, может не верно я пишу, но как мне это представляется
2) Зашел по ссылке
Overview This is the main download page for the AutoIt Script Editor and related files. Current Versions File Date updated Notes SciTE4AutoIt3.exe (5439Kb) 16-3-2021 Installer containing SciTE and all configuration files plus utilities.Update History. Definition files included: AutoIt v3.3.14.5...
www.autoitscript.com
загрузил файл
SciTE4AutoIt3.exe
установил файл
SciTE4AutoIt3.exe
запустил SciTE
внутри SciTE открыл мой скрипт
выбрал как
Tools - Compile
и
Tools - Build
- внутри окна кракозябры, похоже на ошибку к папке "C:\Program...." (типа пробел в названии папки Program Files)
- рядом со скриптом Line_5_0012.au3, естественно, НЕ появилось с добавкой "_stripped"
Вы меня, извините, пожалуйста, любезно, а нет ли готовой сборки, можно в личные сообщения, чтобы у меня всё получилось?
Сколько хочется - установил или распаковал готовую сборку и на выходе получил с добавкой "_stripped"
Видео прилагаю - Запись_2023_04_16_14_18_03_385.mp4.zip
2) Немного модифицировал Вашу версию - добавив, мягко сказать, защиту от "редиски", лишь бы сработало, чтобы пользователь не помешал
#include <UIAutomate.au3> ; https://autoit-script.ru/threads/uiautomate-avtomatizacija-nestandartnyx-ehlementov-gui.16780/
#include <GuiToolbar.au3>
BlockInput ( 1 )
Sleep ( 1000 )
Global $tray, $search = "AdGuard", $item = "Отключить защиту на 30 секунд"
$tray = ControlGetHandle("[class:Shell_TrayWnd]", "", "ToolbarWindow321")
If FindClick($search) Then Exit ItemClick("[REGEXPCLASS:WindowsForms10.Window.20808]", $item)
ControlClick("[class:Shell_TrayWnd]", "", "Button1")
$tray = ControlGetHandle("[class:NotifyIconOverflowWindow]", "", "ToolbarWindow321")
If FindClick($search) Then ItemClick("[REGEXPCLASS:WindowsForms10.Window.20808]", $item)
BlockInput ( 0 )
Sleep ( 1000 )
Func FindClick($text)
For $i = 0 To _GUICtrlToolbar_ButtonCount($tray) - 1
If StringInStr(_GUICtrlToolbar_GetButtonText($tray, _GUICtrlToolbar_IndexToCommand($tray, $i)), $text) Then
_GUICtrlToolbar_ClickIndex($tray, $i, "right")
Return 1
EndIf
Next
Return 0
EndFunc
Func ItemClick($wnd, $item)
Local $hWnd = WinGetHandle($wnd)
Local $oMenu = _UIA_GetElementFromHandle($hWnd)
Local $oItem = _UIA_GetControlTypeElement($oMenu, "UIA_MenuItemControlTypeId", $item)
If _UIA_ElementGetPropertyValue($oItem, "IsEnabled") Then
_UIA_ElementDoDefaultAction($oItem)
Else
ControlSend($hWnd, "", "", "{esc}")
EndIf
EndFunc
Итого - мышка и клавиатура блокируются после запуска ехе файла, но скрипт НЕ срабатывает, получается, скрипт не может нажать правую кнопку мышки на значке
3) Предполагаю, что Ваш скрипт вообще не срабатывает на Microsoft Windows 7 Professional Service Pack 1 Russian x64
Видео прилагаю - Запись_2023_04_16_22_27_59_557.mp4.zip
Прилагаю логи - текстовые файлы, полученные утилитой Inspect_W7.exe:
1) в трее один раз нажимаю правой кнопкой мышки по значку AdGuard
2) появится меню
3) строки
Включить защиту и
Отключить защиту на 30 секунд