1,701

Re: AHK: Замена "Window Spy"

Malcev пишет:

Вивальди, как и скайп сразу не выдаст весь путь.

Да, это видел.

Malcev пишет:

Получаешь дерево и считаешь.

Тяжело однако.
А ты путь проверял в Accget. У меня он считается от объекта под мышкой, а не от окна.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,702

Re: AHK: Замена "Window Spy"

А это неважно откуда он считается.
Правильно считать сверху вниз, но это долго.
А снизу вверх могут быть разного рода баги, от которых в последних версиях ahk spy вроде как избавились.

1,703

Re: AHK: Замена "Window Spy"

Как не важно, ты говоришь путь не правильный. ahk spy от Chrome_RenderWidgetHostHWND1 берёт, а AccExplorer от  другого.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,704

Re: AHK: Замена "Window Spy"

Они одинаково берут путь.
Просто AccExplorer переходит на родительское окно и строит от него вниз, а ahk spy переходит на родительский объект и сравнивает его детей.
А у вивальди и, как я вспоминаю, у хрома, при переходе на главное родительское окно, дочернее окно изчезает.
Поэтому accexplorer показывает правильный путь, а автохоткивский accviewer нет.
А после введенных мною проверок ahk spy тоже либо показывает правильный путь либо показывает, что путь не найден.

1,705

Re: AHK: Замена "Window Spy"

Malcev пишет:

А после введенных мною проверок ahk spy тоже либо показывает правильный путь либо показывает, что путь не найден.

Отвлёкся от темы. Так что надо в коде изменить чтобы путь правильный был? CompareAcc изменить.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,706

Re: AHK: Замена "Window Spy"

Думаю ничего менять не надо.
Только для наглядности, можно в Acc_GetPath, если найденный путь начинается не с хендла главного окна (из вкладки windows), то вписывать этот хендл - path not found.

1,707

Re: AHK: Замена "Window Spy"

Malcev пишет:

Баг в проверке acc пути.
На броузере vivaldi при дефалтных установках путь для получения адресной строки должен  быть таким

4.1.2.1.1.1.1.1.2.1.2.3.1.1

AhkSpy же выводит

4.1.1.1.2.1.2.3.1.1

А почему путь неправильный? У меня так находит. Он пишет путь от Chrome_RenderWidgetHostHWND.

MsgBox %  Acc_Get("Object", "4.1.1.1.2.1.2.3.1.1", 0, "ahk_id " Chrome_RenderWidgetHostHWND).accName(0

Выводит

Введите поисковый запрос или адрес страницы

Единственное что нет путя от окна.

Malcev пишет:

Так же если есть желание, то можно добавить нахождение пути в буквенной форме через role properties.

Тут не понял, что за буквенная форма?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,708

Re: AHK: Замена "Window Spy"

serzh82saratov пишет:

А почему путь неправильный? У меня так находит. Он пишет путь от Chrome_RenderWidgetHostHWND.

Вот и я понял, что бага тут нет, о чем и написал в 1,693 посте.

Протестировал с вивальди.
Багов не нашел.
Просто при переходе к главному родительскому элементу дерево перестраивается и с нашим алгоритмом (снизу вверх) путь не  найти.
Можно для наглядности при таких случаях добавлять хендл окна и писать path not found.

serzh82saratov пишет:

Единственное что нет путя от окна.

Вот я и предлагаю, что если мы не можем найти пути от окна, то пишем:
path not found * хендл окна.

serzh82saratov пишет:

что за буквенная форма?

Acc := Acc_Get("Object", "application.tool bar3.combo box.editable text", 0, "ahk_id 0x000204fc")

1,709

Re: AHK: Замена "Window Spy"

Malcev пишет:

Вот я и предлагаю, что если мы не можем найти пути от окна, то пишем:
path not found * хендл окна.

Сделал.

Malcev пишет:

Acc := Acc_Get("Object", "application.tool bar3.combo box.editable text", 0, "ahk_id 0x000204fc")

Не, не понятно, что за путь такой.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,710 (изменено: Malcev, 2022-07-24 00:51:00)

Re: AHK: Замена "Window Spy"

В исходном коде:

Acc_Get(Cmd, ChildPath="", ChildID=0, WinTitle="", WinText="", ExcludeTitle="", ExcludeText="") {
static properties := {Action:"DefaultAction", DoAction:"DoDefaultAction", Keyboard:"KeyboardShortcut"}
AccObj :=   IsObject(WinTitle)? WinTitle
:   Acc_ObjectFromWindow( WinExist(WinTitle, WinText, ExcludeTitle, ExcludeText), 0 )
if ComObjType(AccObj, "Name") != "IAccessible"
ErrorLevel := "Could not access an IAccessible Object"
else {
StringReplace, ChildPath, ChildPath, _, %A_Space%, All
AccError:=Acc_Error(), Acc_Error(true)
Loop Parse, ChildPath, ., %A_Space%
try {
if A_LoopField is digit
Children:=Acc_Children(AccObj), m2:=A_LoopField ; mimic "m2" output in else-statement
else
RegExMatch(A_LoopField, "(\D*)(\d*)", m), Children:=Acc_ChildrenByRole(AccObj, m1), m2:=(m2?m2:1)

Путь по роле объекта.
Бывает нужным решением, когда нельзя использовать точный путь из-за появления/убирания всяких новых объектов в приложении.

Сделал.

Сейчас у тебя показывает хендл не главного окна приложения, а первого родительского, которое не находится.
Ну и можно, если вообще путь не находится, убрать надпись из   "Get path   path not found  ▪  ", а вставить в path not found * хендл окна.

1,711

Re: AHK: Замена "Window Spy"

Malcev пишет:

Сейчас у тебя показывает хендл не главного окна приложения, а первого родительского, которое не находится.

Chrome_WidgetWin_1. Какое там главнее?

Malcev пишет:

Путь по роле объекта.

Не замечал раньше, надо будет сделать.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,712

Re: AHK: Замена "Window Spy"

Просто у хрома Chrome_WidgetWin_1 - это первое родительское, которое не определяется, оно в то же время является главным окном приложения.
Но например у flashfxp это не так.

1,713

Re: AHK: Замена "Window Spy"

Malcev пишет:

Но например у flashfxp это не так.

У меня нет flashfxp, в коде как поправить, чтобы и там и там было правильно?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,714

Re: AHK: Замена "Window Spy"

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

If (v.Path = 0)
tree .= AddSpace(k - 1) "<span><span style='color:#" ColorErrorAccPath "'>path not found</span>" _DP  "<span name='MS:'>" v.Hwnd "</span>"
. _DP "<span name='MS:'>" v.WinClass "</span>" _DP  "<span name='MS:'>" v.ProcessName "</span></span>"

переменные из раздела Window в вкладке Control.

( Window )  flash
ahk_class Chrome_WidgetWin_1 ahk_exe chrome.exe ahk_id 0x20624

А в коде тебе лучше подправить, так как я не вижу где у тебя эти переменные хранятся.
Если что flashfxp тут:
https://www.flashfxp.com/download

1,715

Re: AHK: Замена "Window Spy"

Malcev пишет:

Но например у flashfxp это не так.

А что там не так? Навожу на адресную строку TTntEdit.UnicodeClass.

path not found  ▪  0x150DA6  ▪  TPanelEx.UnicodeClass  ▪  FlashFXP.exe  ▪   flash
↓    4  ▪  0x101C56  ▪  TPTShellCombo.UnicodeClass  ▪  FlashFXP.exe  ▪   flash

TPanelEx.UnicodeClass родитель TPTShellCombo.UnicodeClass
TPTShellCombo.UnicodeClass родитель TTntEdit.UnicodeClass

Malcev пишет:

переменные из раздела Window в вкладке Control

В смысле добавить ahk_class ahk_exe ahk_id?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,716

Re: AHK: Замена "Window Spy"

Я предлагаю вместо

path not found  ▪  0x121BF6  ▪  TPanelEx.UnicodeClass  ▪  FlashFXP.exe  ▪

писать

path not found  ▪  0x111374  ▪  TFrmMain.UnicodeClass  ▪  FlashFXP.exe  ▪

1,717

Re: AHK: Замена "Window Spy"

Не согласен. Зачем идти выше, надо показать откуда путь начинает не читаться, а те что выше уже не имеют значения в таком случае.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,718

Re: AHK: Замена "Window Spy"

Может забыл, может не знал, можно ли в Accessible получить объект исходя из координат относительно окна, например в случае когда окно перекрыто.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,719

Re: AHK: Замена "Window Spy"

Нет.
Для таких задач целесообразней использовать UI Automation.

1,720

Re: AHK: Замена "Window Spy"

А в нём как? Я искал, не нашёл такого.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,721

Re: AHK: Замена "Window Spy"

Как-нибудь Findfirst с UIA_BoundingRectanglePropertyId.

1,722

Re: AHK: Замена "Window Spy"

Тут что то нашёл https://www.autohotkey.com/boards/viewtopic.php?t=69627, но не понял Findfirst получает корневой объект от окна?
UIA_BoundingRectanglePropertyId как работает? Я предполагаю передачу в него координат в окне, ну и видимо корневой объект окна в котором искать, но я не увидел передачи координат.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,723

Re: AHK: Замена "Window Spy"

От хендла окна мы получаем AutomationElement, после чего ищем элемент с нужными нам свойствами через Findfirst.
Вот тут можешь почитать:
https://docs.microsoft.com/en-us/window … fromhandle
https://docs.microsoft.com/en-us/window … ncondition
https://docs.microsoft.com/en-us/window … -findfirst
А вообще на ahk Descolada сделал враппер на основе от jethrow.
https://www.autohotkey.com/boards/viewt … p;t=104999

1,724

Re: AHK: Замена "Window Spy"

Спасибо, буду смотреть.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,725

Re: AHK: Замена "Window Spy"

Нифигасе, господин Descolada поработал.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,726

Re: AHK: Замена "Window Spy"

Кстати не в курсе Accessible  может устанавливать значения? Как тут в примерах вводить строку.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,727

Re: AHK: Замена "Window Spy"

Не понял вопроса.
Ты спрашиваешь про это?

acc.accvalue := "a"

1,728

Re: AHK: Замена "Window Spy"

Видимо да, надо будет попробовать.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,729

Re: AHK: Замена "Window Spy"

С accName так не работает насколько помню.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,730

Re: AHK: Замена "Window Spy"

4.95
Добавил Set в accvalue.

Добавил в основное меню:
Open window from clipboard 
Open control from clipboard

Открыть окно если его хэндл в буфере.
По хорошему конечно надо добавить кнопку перехода для всех хэндлов в программе.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,731 (изменено: sergei.kashirin, 2022-08-17 15:51:59)

Re: AHK: Замена "Window Spy"

Всем привет. Не получается скачать программу.
Все получилось. Нужно было просто скопировать код и вставить его.

1,732

Re: AHK: Замена "Window Spy"

sergei.kashirin пишет:

Нужно было просто скопировать код и вставить его.

Там ниже под ссылкой написано:

Чтобы сразу сохранить в файл, нажмите правую кнопку мыши на ссылке "Скачать AhkSpy", выберите "сохранить как" (!этот способ работает не во всех браузерах). Иначе перейдите по ссылке, и скопируйте код в файл с расширением .ahk, и с кодировкой UTF-8-BOM.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,733

Re: AHK: Замена "Window Spy"

Если планируются еще апдейты, то было бы неплохо вставить убирание/возврат стилей из окон и контролов.

1,734

Re: AHK: Замена "Window Spy"

Планов не было и нет, стихийно всё, понадобилось, добавил, выложил.
А про стили я давно думаю тоже самое. Надо тогда их выводить все какие бывают, указывать какие применены. Короче лень, когда надо это, window detective запускаю.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,735 (изменено: serzh82saratov, 2022-08-30 10:04:01)

Re: AHK: Замена "Window Spy"

Malcev пишет:

убирание/возврат стилей из окон и контролов

version 4.97
Добавил кое как. Стили классов и контролов не все работают.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,736

Re: AHK: Замена "Window Spy"

serzh82saratov пишет:

Стили классов

Такой способ не добавляет стиль.

DllCall("SetClassLong", "UPtr", hWnd, "int", -26
						, "int", DllCall("GetClassLong", "UPtr", hWnd, "int", -26) | style)
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,737

Re: AHK: Замена "Window Spy"

Добавляет, но только нужно инжектиться в процесс.
Может лучше сначала выводить текущие стили окна, а то сейчас, если нужно просто посмотреть стили, выглядит не совсем удобно.

1,738

Re: AHK: Замена "Window Spy"

Цветами выделены, вроде в глаза бросаются. А так всё равно листать если с обычных на расширенные смотреть, списки теперь длинные стали. И на первый взгляд много переделывать придётся, там со стилями у меня каша.
И когда стили на одном месте может и лучше. При изменении некоторых, нагляднее как изменяются другие зависимые, а так это всё уплывёт вверх.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,739

Re: AHK: Замена "Window Spy"

Malcev пишет:

нужно инжектиться в процесс.

А где то указано в справке что функции необходим инжект?
https://docs.microsoft.com/en-us/window … classlongw

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,740

Re: AHK: Замена "Window Spy"

https://docs.microsoft.com/en-us/window … ubclassing

1,741

Re: AHK: Замена "Window Spy"

Ну то есть в описании самой функции нет инфо о том, что она должна выполнятся в том же процессе.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,742

Re: AHK: Замена "Window Spy"

Насколько я знаю, майкрософт не пишет об этом в каждой функции.
У них есть общие концепты, а дальше уже сам догадывайся как правильно вызывать.
В данном случае я попробовал деактивировать кнопку закрытия окна в своем приложении - получилось.
В стороннем выдало access denied из чего я сделал вывод, что надо инжектиться в процесс.

1,743 (изменено: serzh82saratov, 2022-09-03 17:14:12)

Re: AHK: Замена "Window Spy"

Надо будет на досуге инжект добавить, вроде и для определения данных он может быть полезен.
Не помнишь сколько по времени он занимает, и можно ли DLL повторно использовать, или всё таки каждый раз инжектить надо. Если можно, то как определить что инжект уже был, чтобы не полагаться на сохранённые PID.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,744

Re: AHK: Замена "Window Spy"

Не уверен, что это хорошая идея, так как процесс может крашиться.

1,745

Re: AHK: Замена "Window Spy"

А заранее это проверить нельзя?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,746

Re: AHK: Замена "Window Spy"

Вряд ли.
Знаю, что игры любят ставить различные защиты на внедрение в их процесс.
А зачем тебе нужны глобальные хуки -  только для того чтобы установить класс окна?

1,747 (изменено: serzh82saratov, 2022-09-03 21:05:13)

Re: AHK: Замена "Window Spy"

Письма через раз приходят об ответах, это уже много лет так, ни у кого такого нет?

Malcev пишет:

А зачем тебе нужны глобальные хуки -  только для того чтобы установить класс окна?

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,748

Re: AHK: Замена "Window Spy"

Для получения данных не припоминаю чтобы надо было.
А для вызова SetClassLong, без инжекта, думаю, никак.

1,749

Re: AHK: Замена "Window Spy"

Ну значит проехали эту тему.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,750

Re: AHK: Замена "Window Spy"

version 5.05

https://i.imgur.com/8hlLUTo.png

Добавил WM_NCHITTEST. Из общеизвестных проблем, не определяются например HTHSCROLL и HTVSCROLL.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,751

Re: AHK: Замена "Window Spy"

А какую полезную информацию это даёт, тем более, что определяется не всегда правильно?
Ещё, я иногда пользуюсь этим скриптом, но не очень часто. И каждый раз мне приходится вспоминать, что за Button имеется в виду. "Button" это кнопка, а клавиша на клавиатуре это "key". Я б назвал вкладку Keyboard.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

1,752 (изменено: serzh82saratov, 2022-09-05 12:07:00)

Re: AHK: Замена "Window Spy"

teadrinker пишет:

А какую полезную информацию это даёт, тем более, что определяется не всегда правильно?

Я для ГК на RButton и MButton использую, над заголовком и меню, либо простой проверки что курсор в клиентской области.
С не всегда правильно я не встречался, в одном приложении всегда одинаково, а вот насколько адекватно именно в нём работает, для этого оно и сделано.

teadrinker пишет:

И каждый раз мне приходится вспоминать, что за Button имеется в виду

Тогда человек никогда не нажмёт на неё, если нужна мышь или джойстик.) Так что Keyboard название не вполне корректное.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,753

Re: AHK: Замена "Window Spy"

Ну хотя бы частично корректное. Представь, у тебя есть приложение с русскоязычным интерфейсом, в котором есть кнопка, на которой написано «Кнопка».

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

1,754

Re: AHK: Замена "Window Spy"

А Keyboard частично не корректно, потому как на мыши или джойстике как раз кнопки.
Не вижу принципиального смысла это менять, оно уже исторически сложилось. Возможно "Buttons" ничего так будет.

teadrinker пишет:

есть кнопка, на которой написано «Кнопка»

Я бы сразу нажал.)

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,755

Re: AHK: Замена "Window Spy"

Ещё у меня вот такое:

+ открыть спойлер

https://i.imgur.com/crCB4Nc.gif

То-есть, при открытии вложенных трей-меню (а иногда и не обязательно вложенных) скрипт крашится.

serzh82saratov пишет:

Я бы сразу нажал.

А если бы увидел книгу, на которой написано «Книга» — сразу бы купил?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

1,756

Re: AHK: Замена "Window Spy"

teadrinker пишет:

То-есть, при открытии вложенных трей-меню (а иногда и не обязательно вложенных) скрипт крашится.

Ну тут не знаю, тебе виднее, ты опытнее, попробуй TRY туда поставить, если не крашится, отпишись, я добавлю.
Я использую Spot only Shift+Tab, отключил, попробовал, 32 и 64, у меня такого нет. Советую Spot only Shift+Tab использовать, постоянный спот ни к чему.

teadrinker пишет:

А если бы увидел книгу, на которой написано «Книга» — сразу бы купил?

У меня только такие.)
Если серьёзно, "Buttons" считаю адекватной заменой.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,757

Re: AHK: Замена "Window Spy"

У keyboard нету button, у mouse и у joystick нету key.
Тогда уж правильнее писать keys & buttons.
Насчет бага, как я вижу у teadrinker не возвращается iaccessible object из меню.
Надо понять в чем причина.

1,758 (изменено: serzh82saratov, 2022-09-06 17:57:55)

Re: AHK: Замена "Window Spy"

Malcev пишет:

Тогда уж правильнее писать keys & buttons.

Оно в кнопку не полезет, длинное. Можно HID назвать или Input, или Hotkey... Не знаю зачем это вообще трогать. В народе клавиши чаще называют кнопками.

Malcev пишет:

Надо понять в чем причина.

Да поди пойми, у одного работает, у другого нет. Это можно попытаться понять только там где всегда не работает.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,759

Re: AHK: Замена "Window Spy"

serzh82saratov пишет:

Можно HID назвать или Input, или Hotkey...

Более привычно для автохотки - keys.

List of Keys (Keyboard, Mouse and Joystick)

https://www.autohotkey.com/docs/KeyList.htm
teadrinker, а у тебя только из твоего (автохотки) меню iaccessible не возвращается или из меню других программ тоже?

1,760

Re: AHK: Замена "Window Spy"

Краш постоянно воспроизводится, если открывать вложенное AHK трей меню, но один раз было с каким-то другим меню, и не вложенным.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

1,761

Re: AHK: Замена "Window Spy"

Malcev пишет:

Более привычно для автохотки - keys.

Двое на одного, пусть будет keys.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,762 (изменено: Malcev, 2022-09-06 20:02:39)

Re: AHK: Замена "Window Spy"

Тут дело в том, что когда ты открываешь меню (не вложенное), то у тебя почему-то не возвращается iaccessible interface из AccessibleObjectFromPoint.
Надо посмотреть какую ошибку функция возвращает.
У меня на 2 разных Win10 такого не наблюдается.

serzh82saratov пишет:

Двое на одного, пусть будет keys.

По мне так это всё шашечки, я больше за функциональность.
Помню, когда вышла монтажка Edius, то все плевались от ее непривычного интерфейса, но многие новостники перепрыгнули с премьера на нее из-за скорости работы.

1,763

Re: AHK: Замена "Window Spy"

Понял причину того, что AccessibleObjectFromPoint не возвращает интерфейс — нет доступа, этот мой скрипт запускается через AutoHotkeyU64_UIA.exe. Чтобы не выскакивала ошибка, в 1778 строке:

	If (oOther.AccCLOAKEDWinID != oPubObj.Acc.WinID && oPubObj.Acc.pAccObj)
		ObjRelease(oPubObj.Acc.pAccObj), oPubObj.Acc.pAccObj := 0

То же поведение с трей-меню настроек NVIDIA.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

1,764

Re: AHK: Замена "Window Spy"

teadrinker пишет:

Чтобы не выскакивала ошибка, в 1778 строке:

Добавил.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,765

Re: AHK: Замена "Window Spy"

Баги в определении стиля окна.
Окно блокнота показывает как WS_POPUPWINDOW := 0x80880000.

1,766

Re: AHK: Замена "Window Spy"

WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU) Это всплывающее окно. Стили WS_CAPTION и WS_POPUPWINDOW должны быть объединены для отображения меню окна.

В справке не пойми что написано. По твоему как должно быть?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,767

Re: AHK: Замена "Window Spy"

Ну точно оно не WS_POPUP.
Откуда у тебя там этот стиль берется?

1,768

Re: AHK: Замена "Window Spy"

Вот тут мы обсуждали:
http://forum.script-coding.com/viewtopi … 46#p130846

1,769

Re: AHK: Замена "Window Spy"

Нашёл ошибку, видимо она была изначально.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui