1,501

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

Здесь ошибка:

SendMessage, WM_GETOBJECT, 0, 1, , % "ahk_id" (ControlID ? ControlID : WinID) 

Надо так:

SendMessage, WM_GETOBJECT, 0, 1, Chrome_RenderWidgetHostHWND1, % "ahk_id " WinID

Проверял на скайпе.

1,502

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

А так как есть не работает?
В Chrome_RenderWidgetHostHWND1 в конце может быть и другой индекс.
И у меня в скайпе ApplicationFrameInputSinkWindow1.

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

1,503

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

Как есть не работает.
Chrome_RenderWidgetHostHWND с другим индексом не встречал.

1,504

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

Я встречал, но сейчас не вспомню.
Заменю в след версии как ты предложил, может всплывёт тогда.

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

1,505

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

serzh82saratov пишет:

И у меня в скайпе ApplicationFrameInputSinkWindow1.

У тебя наверное skype uwp, а у меня skype for desktop.

1,506

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

Наверное. for desktop с какими то плюсами, я не помню он же кажется теперь в винду встроен?

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

1,507

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

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

1,508 (изменено: serzh82saratov, 2020-06-26 17:45:43)

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

Только не понятно почему в моём случае и с

 SendMessage, WM_GETOBJECT, 0, 1, Chrome_RenderWidgetHostHWND1, % "ahk_id " WinID

в скайпе работает.

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

1,509

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

Можешь посмотреть окна скайпа через spy++.

1,510

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

http://screenshot.su/show.php?img=b961b … 8b72c6.jpg

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

1,511

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

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

How Chrome detects the presence of Assistive Technology
For performance reasons Chromium waits until it detects the presence of assistive technology before enabling full support for accessibility APIs.

Windows: Chrome calls NotifyWinEvent with EVENT_SYSTEM_ALERT and the custom object id of 1. If it subsequently receives a WM_GETOBJECT call for that custom object id, it assumes that assistive technology is running.

Mac OS X: Chromium turns on or off accessibility support based on whether it sees a client, such as VoiceOver, has set the AXEnhancedUserInterface attribute on the main application window.

To override:

    Start Chrome with this flag: --force-renderer-accessibility
    Or, visit this url to turn it on from within Chrome: chrome://accessibility

https://www.chromium.org/developers/des … Technology

1,512

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

А так в ControlID у тебя какой коннтрол?

SendMessage, WM_GETOBJECT, 0, 1, , % "ahk_id" (ControlID ? ControlID : WinID) 
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

1,513

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

Intermediate D3D Window.

1,514

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

Баг. Не правильно показывает Accessible path на кнопке play при загруженном видео в vlc player.

1,515

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

Знаешь как поправить? У меня нет влс.

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

1,516

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

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

1,517

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

Это может быть очень долго, мне кажется проще в этом убедится на практике. Или сделать кнопку проверить, но я уже забыл как убедится что объект будет именно тот.

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

1,518

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

Это будет сотые доли секунды.
Допустим мы получаем путь "4.20.2.1.1.1.1.2.1.4.1.1.1.1.1.1.1.1.1.5.1.1"
Чтобы его проверить нам надо получить acc объект по этому пути:

oAcc := Acc_Get("Object", "4.20.2.1.1.1.1.2.1.4.1.1.1.1.1.1.1.1.1.5.1.1", 0, "ahk_id " hWnd)

После чего сравниваем все его свойства с искомым объектом.
И это наверное надо делать каждый раз когда родительский хендл меняется.

1,519

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

Malcev пишет:

каждый раз когда родительский хендл меняется

Не понял, какой хендл меняется.

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

1,520

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

Сейчас у нас алгоритм нахождения пути следующий.
1) Получаем acc объект под курсором мыши.
2) Получаем его родителя.
3) Если хендл родителя поменялся, значит постим путь от дочернего объекта.
Вот его, перед тем как постить и надо проверять.

1,521

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

Я так и не пойму, что за хендлы в АСС.

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

1,522

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

Вот твой код, в котором ты сравниваешь хендл родителя с дочерним.

Acc_GetPath(byref arr) {
    Static DesktopHwnd := DllCall("User32.dll\GetDesktopWindow", "ptr") 
	If oPubObj.Acc.CLOAKED
		Return 0
	Acc := Object(oPubObj.Acc.AccObj) 
	arr := []
	
	While Hwnd := Acc_WindowFromObject(Parent := Acc_Parent(Acc)) { 
		If (DesktopHwnd != Hwnd)
			t1 := GetEnumIndex(Acc)
		If t1 = -1
			Return arr := ""
		If (PrHwnd != "" && Hwnd != PrHwnd)
		{
			PrHwnd := Format("0x{:06X}", PrHwnd)
			WinGetClass, WinClass, ahk_id %PrHwnd%
			WinGet, ProcessName, ProcessName, ahk_id %PrHwnd%
			arr.InsertAt(1, {Hwnd: PrHwnd, Path: SubStr(t2, 1, -1), WinClass: WinClass, ProcessName: ProcessName})
		}
		if (t1 = "" || Hwnd = DesktopHwnd)
		   break
		t2 := t1 "." t2
		PrHwnd := Hwnd
		Acc := Parent 
	}
	Return arr.Count()
}

1,523

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

Не знаю как хэндл окна может изменится. Ты можешь интегрировать свой код для проверки.

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

1,524

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

Он изменяется при перехождении из дочернего окна к главному.
У тебя в коде тут идет сравнение

If (PrHwnd != "" && Hwnd != PrHwnd)

Вот перед тем  как  его публиковать, как я пониаю тут:

arr.InsertAt(1, {Hwnd: PrHwnd, Path: SubStr(t2, 1, -1), WinClass: WinClass, ProcessName: ProcessName})

надо сделать проверку пути, наверное как-то так:
oAcc := Acc_Get("Object", SubStr(t2, 1, -1),  child, "ahk_id " PrHwnd)
после чего проверить все его свойства.

1,525

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

А, я подумал что ты про некий хэндл объекта.
А ты Accessible Info Viewer проверял VLC, тот же путь что и в AhkSpy. Почему в определении пути может быть ошибка, одинаковые свойства объектов?

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

1,526 (изменено: Malcev, 2020-10-04 18:56:18)

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

А зачем проверять в Accessible Info Viewer, когда мы пытаемся убрать его баги? ))
А почему у нас происходит неверный результат при первом переходе к родительскому элементу - не знаю.
Но он такой же как и у Inspect.exe, а вот у AccExplorer результат совсем другой.

1,527

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

Сделал, проверь.

Malcev пишет:

А зачем проверять в Accessible Info Viewer, когда мы пытаемся убрать его баги? ))

Потому что делалось очень давно и коряво, хоть и по его подобию, но не уверен что код на сто процентов совпадает. Вдруг пути различаются.

Malcev пишет:

а вот у AccExplorer результат совсем другой

Загадочно. В твоём случае Acc_Get по нему находит правильно?

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

1,528

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

В AccExplorer при переходе к родительскому объекту получает объект с 7 детьми у которых нет подобных свойств, как у кнопки плей., а у AhkSpy и Inspect.exe - 14.
Сейчас вроде показывает правильно.
У меня кстати перестало работать автообновление.

1,529

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

Malcev пишет:

У меня кстати перестало работать автообновление.

Это я забыл Readme поправить.

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

1,530 (изменено: serzh82saratov, 2020-10-09 16:03:39)

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

version 4.43
В window добавил определение AutoHotkey скриптов, и некоторые действия над ними.

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

1,531

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

Ничего не понял.

1,532

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

Наводишь на окно скрипта, и:
https://i.imgur.com/oSYGFVR.png

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