951 (изменено: Malcev, 2018-08-17 21:10:04)

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

serzh82saratov пишет:

А что за ApplicationFrameHost.exe?

https://www.it-ep.ru/howto/chto-takoe-a … a-moem-pk/
Думаю, можно записать всё в заголовок Control и показывать только в том случае, если Pid у контрола другой.
Я знаю только 2 приложения с такой фичей - IE и Edge.
Ну и наверное правильней показывать настоящий Pid окна программ которые запускаются через ApplicationFrameHost:

WinGetActiveProcessName() {
    WinGet name, ProcessName, A
    if (name = "ApplicationFrameHost.exe") {
        ControlGet hwnd, Hwnd,, Windows.UI.Core.CoreWindow1, A
        if hwnd {
            WinGet name, ProcessName, ahk_id %hwnd%
        }
    }
    return name
}

952

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

Ну то есть кроме pid, надо выводить class, exe, id?

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

953

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

Так class и id и так показывается.

Class NN:  Internet Explorer_Server1  ▪  Win class:  Internet Explorer_Server
Pos:  x4 y82  ▪  x²1169 y²710  ▪  Size:  w1166 h629  ▪  4, 82, 1169, 710  ▪  4, 82, 1166, 629
Pos relative client area:  x0 y59  ▪  x²1165 y²687  ▪  0, 59, 1165, 687  ▪  0, 59, 1166, 629
Mouse relative control:  x1138 y489  ▪  0.9760, 0.7774  ▪  Client area:  x4 y23 w1166 h688
HWND:  0x107f4

954

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

class и id окна я имею ввиду.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

955

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

Не понял, id окна же тоже показывается:

( Window )
ahk_class IEFrame ahk_exe iexplore.exe ahk_id 0xe0438
( Control )
Class NN:  Internet Explorer_Server1  ▪  Win class:  Internet Explorer_Server
Pos:  x4 y82  ▪  x²1169 y²710  ▪  Size:  w1166 h629  ▪  4, 82, 1169, 710  ▪  4, 82, 1166, 629
Pos relative client area:  x0 y59  ▪  x²1165 y²687  ▪  0, 59, 1165, 687  ▪  0, 59, 1166, 629
Mouse relative control:  x357 y171  ▪  0.3062, 0.2719  ▪  Client area:  x4 y23 w1166 h688
HWND:  0x107f4  ▪  Style:  0x56000000  ▪  ExStyle:  0x00000000
Focus control:  Internet Explorer_Server1  ▪  Cursor type:  Unknown  ▪  Caret pos:  x43 y171

Просто если процесс контрола отличается от процесса окна, то в контроле писать pid и ahk_exe.

956

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

Думаю нагляднее, что если процесс контрола другой, то добавлять заголовок, как правильно его назвать - Control window parent или по другому?

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

957

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

Control Process?

958

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

Мне всё равно, я то запомню.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

959

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

С ApplicationFrameHost наверное правильней окно оставить за ApplicationFrameHost.exe.
Просто, точно также в новом заголовке писать Pid и ahk_exe выделенного контрола.

960

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

Не понял, мы же обсуждаем Pid и ahk_exe родительского окна контрола.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

961

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

Ну там получается, что окно принадлежит ApplicationFrameHost.exe.
А хендл контрола Windows.UI.Core.CoreWindow1 привязан уже к конкретному процессу, типа calculator.exe.

962

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

Так может кутерьма с ApplicationFrameHost, это уже вопрос принадлежности окна а не контрола?

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

963

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

Само окно принадлежит ApplicationFrameHost.exe.
Process Hacker также показывает.
А вот контролы, по сути дела они такие же окна только дочерние, принадлежат уже конкретным процессам.

964 (изменено: serzh82saratov, 2018-08-17 22:30:09)

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

Malcev пишет:

А хендл контрола Windows.UI.Core.CoreWindow1 привязан уже к конкретному процессу, типа calculator.exe.

Так если контрол принадлежит calculator.exe, зачем нам практически знать что calculator.exe принадлежит ApplicationFrameHost.exe?
Зачем надо знать при работе с контролом, что окно к которому он принадлежит, принадлежит другому процессу.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

965

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

serzh82saratov пишет:

что окно к которому он принадлежит, принадлежит другому процессу

Точнее: процесс окна к которому он принадлежит, принадлежит другому процессу.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

966 (изменено: Malcev, 2018-08-17 22:55:07)

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

Окно калькулятора (hwnd) создается процессом ApplicationFrameHost.exe на win10 и  WWAHost.exe на win8.
Хотя win8 нету чтобы проверить.
Поэтому если мы закроем этот процесс, то вместе с калькулятором закроются и остальные запущенные через этот процесс программы.

967

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

Malcev пишет:

если мы закроем этот процесс, то вместе с калькулятором закроются и остальные запущенные через этот процесс программы

Закрыв калькулятор, закроются все процессы запущенные ApplicationFrameHost.exe и сам ApplicationFrameHost.exe?

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

968

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

Нет. Закрыв калькулятор закроется только сам калькулятор.
Но если мы закроем ApplicationFrameHost.exe, то закроются запущенные процессы калькулятора, edge, photos, weather...

969

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

Зачем нам надо это знать.
И если надо знать, то почему приоритет ставится на контрол, а не на вкладку Window в первую очередь.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

970

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

Потому что команды типа WinGet, OutputVar , SubCommand, A  будут выдавать результат окна принадлежащего к ApplicationFrameHost.exe, а не контрола.

971 (изменено: Malcev, 2018-08-18 14:11:13)

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

Во вкладке Control в пункте Window, думаю, Pid главного окна тоже стоит показывать.
А проверять есть ли у контрола свой процесс через Uia надежней будет - мало ли такого типа программы, как edge (запускающиеся через отдельный процесс и имеющие безымянные активные контролы) еще  есть.
Если Pid полученное через Uia отличается от полученного через Winget и не равно ничему, значит у контрола свой процесс.
И по поводу перевода:
Find to page - Find on page.
Spot together - Get Window and Control.

972

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

При нажатии show styles - стили скрываются, hide styles - появляются.
В вкладке control этой функции почему-то вообще нету.

973

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

Времени нет, придётся отложить в долгий ящик.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

974

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

Насчет миганий левого гуи при включенных обеих подсветках, как я понял происходит из-за параметра HWND_TOPMOST в функции ShowMarkers:

, "Ptr", hDWP, "Ptr", arr[k], "UInt", -1  ;	-1 := HWND_TOPMOST

Судя по всему, когда 2 окна накладываются друг на друга с этим параметром, то появляется дрожание.
Возможное решение при включенных обеих подсветках, проверять наличие красного левого гуи под синим левым гуи и в случае нахождения сдвигать синее на пиксель левее/правее.