LonerD

|
Posted: Mon Jun 09, 2014 16:56 Post subject: Контролы файловых панелей (Autoit, AHK) |
|
|
Как известно, в зависимости от наличия открытых в сеансе работы фтп-соединений и "дерев каталогов в отдельных панелях" - имена контролов файловых панелей изменяются, и могут принимать значения от TMyListBox1 до TMyListBox5 (в 64-х битном Тотале - соответственно LCLListBox).
Зачастую нужно определить в данный конкретный момент времени имя контрола правой и левой файловых панелей (как один из примеров - для того, чтобы узнать в какой панели находится курсор).
Пока что я дошёл до единственного решения.
Считываем текст в контролах TMyListBox1 - TMyListBox3, и если он равен W_TreeList1, то значит открыто одно дерево в отдельной панели, если W_TreeList2 - то два дерева. Далее зная это можно сделать предположения об именах контролов файловых панелей, но приходится узнавать список контролов окна Тотала и перебирать их чтобы узнать - было ли в процессе работы открыто ftp-соединение.
Пример реализации этого варианта - в скрипте.
Второй вариант попроще, но менее элегантный - считать имя контролла активной панели, заморозить окно Тотала, поместить курсор в правую панель, считать имя контрола, потом поместить курсор в левую панель, считать имя контрола, вернуть всё как было, разморозить окно.
Может есть какой-то более простой вариант с запросом к окну или процессу Тотала? _________________ Windows 11 | TC DreamLair eternal pre-α
Last edited by LonerD on Mon Jun 09, 2014 19:11; edited 1 time in total |
|