Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Контролы файловых панелей (Autoit, AHK) 
Author Message
LonerD



PostPosted: Mon Jun 09, 2014 16:56    Post subject: Контролы файловых панелей (Autoit, AHK) Reply with quote

Как известно, в зависимости от наличия открытых в сеансе работы фтп-соединений и "дерев каталогов в отдельных панелях" - имена контролов файловых панелей изменяются, и могут принимать значения от 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
View user's profile Send private message Visit poster's website ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group