Re: AHK: Замена "Window Spy"
Изменил на адрес "https://www.autohotkey.com/download/1.1/version.txt", дальше не стал вникать, вроде работает.
Заметил появилась версия 2.02, она уже стабильная?
Win10x64 AhkSpy, Hotkey, ClockGui
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Изменил на адрес "https://www.autohotkey.com/download/1.1/version.txt", дальше не стал вникать, вроде работает.
Заметил появилась версия 2.02, она уже стабильная?
Malcev пишет:Ну а метод DoDefaultAction ты можешь вызывать через LegacyIAccessible Control Pattern, что я и сделал в примере с нажатием громкости.
А зачем, там же что-то вроде Invoke есть.
Разница invoke и DoDefaultAction в том, что DoDefaultAction не активирует контрол.
Уже не могу вспомнить, где я это писал, но спасибо, обращу при случае внимание.
Было где-то в середине топика.
Но оказывается можно и invoke выполнять без активации контрола:
https://learn.microsoft.com/en-us/windo … tosetfocus
Попробовал с этим скриптом, по-крайней мере с кнопками put_AutoSetFocus(false) не работает.
А, нет, работает, просто нужно было изначально все методы из IUIAutomation2 вызывать.
UPD Хотя всё же фокус на элемент управления переводится, просто без put_AutoSetFocus() ещё и окно активируется.
serzh82saratov, можно добавить в скрипт показывание windows properties.
Как например здесь, в вкладке details.
https://www.autohotkey.com/boards/viewtopic.php?t=28220
Как например здесь, в вкладке details.
А что именно из этого нужно? Вроде всё это есть.
Всё, что получаем через EnumPropsEx.
https://learn.microsoft.com/en-us/windo … umpropsexw
Я уже "отошёл от дел"). Дай функцию на анк, как смогу добавлю.
global properties
PropEnumProcEx := RegisterCallback("PropEnumProcEx", "Fast", 4)
return
f11::
properties := ""
hwnd := WinExist("A")
DllCall("EnumPropsEx", "uptr", hWnd, "ptr", PropEnumProcEx, "uint", 0)
msgbox % properties
return
PropEnumProcEx(hWnd, lpszString, hData, dwData)
{
Property := StrGet(lpszString, "UTF-16")
If (Property = "")
Property := lpszString . " (Atom)"
properties .= Property ": " hData "`n"
return true
}
А что там полезного, где оно используется?
https://learn.microsoft.com/ru-ru/windo … properties тут посмотрел, не понял.
Например, когда мы убираем окно с панели задач с помощью ITaskbarList, то у него появлятся свойство ITaskList_Deleted.
Когда ApplicationFrameWindow зависает, у него появляется свойство ApplicationViewCloakType = 1 (не проверял).
Интересно, надо не забыть сделать, пока очень занят.
Добавил.
Исправь баг.
Там где используешь регулярку \Q" process "\E, должно быть:
\Q" literalRegex(process) "\E
literalRegex(str)
{
if InStr(str, "\E", 1)
{
StringCaseSenseOld := A_StringCaseSense
StringCaseSense, On
str := StrReplace(str, "\E", "\E\\E\Q")
StringCaseSense, % StringCaseSenseOld
}
return str
}
\Q" process "\E
А что с ней?
Обновил. Только не особо понял что за проблема. Иногда не работает \Q" "\E?
Не сработает если в строке process будет "\E".