1,701

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

Malcev пишет:

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

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

Malcev пишет:

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

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,718

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

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,719

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

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

1,720

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

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,725

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

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,726

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

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,727

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

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

acc.accvalue := "a"

1,728

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

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,729

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

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,733

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

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

1,734

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

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,737

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

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

1,738

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

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,739

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

Malcev пишет:

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

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,744

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

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

1,745

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

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,748

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

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

1,749

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

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

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 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 Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,770

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

Ошибку выдал:

---------------------------
AhkSpy.ahk
---------------------------
Error:  Memory limit reached (see #MaxMem in the help file).

Line#
4129: }
4131: {
4132: For k,v in Arr
4133: if (v == Val) 
4134: Return,k
4135: }
4137: {
---> 4138: Transform,str,HTML,%str%,3
4139: StringReplace,str,str,<br>,,1
4140: Return,str
4141: }
4143: {
4145: if !isPaused 
4146: Return,i := 0
4147: i := i > 20 ? 2 : i + 1

The current thread will exit.
---------------------------
OK   
---------------------------

1,771

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

Когда данных много?
Если #MaxMem 4095 добавить, то как?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,772

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

Подглючивает Control Text.
https://ru.files.fm/u/u5237xn3u

1,773

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

Malcev пишет:

Подглючивает Control Text.
https://ru.files.fm/u/u5237xn3u

59мв однако.

serzh82saratov пишет:

Если #MaxMem 4095 добавить, то как?

А с этим как?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,774

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

Ошибка не выскакивает, но если открыть в блокноте или notepad++, то происходит глюк в ahk gui.

1,775

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

Malcev пишет:

Ошибка не выскакивает

Ничего не понимаю, теперь.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,776

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

Если открыть в notepad++ этот файл и навести мышкой на котрол notepad++, то ahkspy выдаст кракозябры.
https://pasteboard.co/CJg52cq0xDBR.png

1,777

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

Такое может быть при выводе в HTML. Надо как то изменить функцию TransformHTML строка 4141.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,778

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

Вряд ли, так как если из этой функции возвращать исходный тест, то остаются такие же глюки.

1,779

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

Так это же на большом файле?
Я вставил несколько строчек {"GET":"OK","TEST":[]} в NPP, всё нормально.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,780

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

Да, при больших файлах происходит данный баг.

1,781

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

В общем единственно что можно сделать, это ввести обрезку данных на каком то неизвестном уровне.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,782 (изменено: Malcev, 2022-11-29 17:10:13)

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

Потестировал.
Баг появляется из-за того, что ты ставишь FEATURE_BROWSER_EMULATION в 8 версию и убираешь <br> в TransformHTML.
При 8 версии нужно <br> оставлять.

1,783

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

Malcev пишет:

FEATURE_BROWSER_EMULATION в 8 версию

Там всё под неё написано. Это нельзя изменить.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,784

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

Уже изменил пост.

1,785

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

Malcev пишет:

При 8 версии нужно <br> оставлять.

Тогда выводит с добавлением строк.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,786

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

Ну тогда можно обрезать до 33,554,432 символов.

1,787

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

serzh82saratov пишет:

Тогда выводит с добавлением строк.

А почему? У меня не выводит:

setbatchlines -1
FixIE(8000)
#maxmem 9999999999
fileread, html, test.txt
html := regexreplace(html, "\R", "<br>")
Gui, Add, ActiveX, vWB w1200 h1000, HTMLFile
WB.body.innerHTML := "<pre>" html "</pre>"
gui show
Return



FixIE(ver) {
	Key := "Software\Microsoft\Internet Explorer\MAIN"
	. "\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	RegRead, value, HKCU, %Key%, %ExeName%
	If (value != ver)
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, %ver%
}

1,788

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

Malcev пишет:

У меня не выводит

У меня тоже, но не в ахкспай.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,789 (изменено: Malcev, 2022-11-30 06:06:53)

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

Ну а если ее исправить на такую?

TransformHTML(str) {
	Transform, str, HTML, %str%, 3
	str := strreplace(str, "`r")
	str := strreplace(str, "`n")
	Return str
}

1,790

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

Да, так норм. С большим файлом нормально?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,791

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

Да.
Кстати, если использовать FEATURE_BROWSER_EMULATION = 11 и не использовать <br> в больших файлах, то ahk вылетает, а до 11 текст просто обрезается без выведения какой-либо ошибки.

1,792

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

Стала глючить проверка на новую версию ahk.

1,793

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

А что именно глючит?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,794

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

А ты пробовал запускать?
Выходит окно, что вышла новая версия с кучей кода, хотя у меня установлена последняя.

1,795

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

Да, конечно. Нет изменений. И я в обновление ни разу не лазил со времён его внедрения.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,796

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

У меня 5.07.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,797

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

Я про обновления версии автохотки.

1,798

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

Malcev пишет:

версию ahk.

Я как всегда не внимателен.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,799

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

Сейчас болею, и много работы. Надо будет после нового года не забыть, а может ты посоветуешь что-то.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

1,800

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

Я бы проверял версию ахк, так же как она проверяется в ahk installer:

CheckForUpdates() {
    try {
        req := ComObjCreate("Msxml2.XMLHTTP")
        req.open("GET", "https://www.autohotkey.com/download/1.1/version.txt?" SubStr(A_Now,1,8), true)
        req.onreadystatechange := Func("VersionReceived").Bind(req)
        req.send()
    }
}