#controls #autohotkey #handle
#элементы управления #автоотключение #обрабатывать
Вопрос:
Мне нужно найти имя элемента управления, с которым связана его всплывающая подсказка. Я спрашиваю об этом, потому что мне нужно управлять щелчком мыши в TeamCenter 10, но имена элементов управления продолжают меняться, как только вы нажимаете на любой из них. Это затрудняет бесперебойную работу моего кода, когда мне нужно повторять задачи.
Если есть лучший способ сделать это (в Autohotkey), пожалуйста, дайте мне знать.
Комментарии:
1. Можете ли вы привести несколько примеров имен элементов управления до и после нажатия на них? Расположение этих элементов управления также может быть полезным. Используйте утилиту Window Spy для извлечения всей этой информации.
2. Конечно, используя вышеупомянутую утилиту, я нажал на элемент управления, который я хотел бы использовать, и он выдал мне: classNN: SWT_Window026
3. После нажатия на другой элемент управления, а затем на оригинал, он выдал мне следующее (в Window Spy): classNN: SWT_Window027
Ответ №1:
Вы можете попробовать это (заменить title of TeamCenter 10
точным названием окна TeamCenter, как показано в Window Spy).:
F1::
; Retrieve the control name for each control in a window:
WinGet, List, ControlList, title of TeamCenter 10
; Examine the individual control names one by one, using a parsing loop:
Loop, Parse, List, `n
{
If InStr(A_LoopField, "SWT_Window02") ; use only the part of the control name that is always shown in Window Spy
ControlClick, %A_LoopField%, title of TeamCenter 10
break
}
return