Autorun

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ну как именно ты получаешь эту информацию? Что вызываешь? Просто порядок выдачи результатов в FindWindowEx или что-то ещё?
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

EnumChildWindows, в процедуре проверяю класс контрола. Если TButton, прибавляю счетчик. Если счетчик равен, скажем, 2 - это кнопка опций. И т.д.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Понятно, Z-порядок, который и есть tab order. По идее, FindWindowEx будет перечислять окна в том же порядке, но без callback-процедуры.

Код: Выделить всё

HWND hchild=0;
while (hchild=FindWindowEx(hwnd, hchild, "TButton", 0)) {
	// Добавить кнопку hchild в массив кнопок
}
Но добавление элементов или изменение их порядка - действительно проблема при таком подходе, нужно заводить базу номеров для разных версий тотала.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Возможно, но если нужно получать контролы разных классов (а с твоим третьим режимом по-любому надо получать комбобокс) - EnumChildWindows выглядит эффективнее, поскольку делает всё за один проход. Ну и вообще, я ничего не имею против каллбэков, скорее наоборот :)

По поводу версий - так уже и сделал, в текущей версии два набора номеров, в зависимости от версии тотала.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Loopback
В 8.50 beta 4 опять изменилось окно копирования. В связи с добавлением опции проверки двухрядное расположение кнопок устранено, кнопка "Опции" теперь идёт по умолчанию последней в основном ряду. Но кому-то может по-прежнему нравиться старое расположение кнопки, обеспечиваемое Autorun_MoveButton.dll, так что плагин неплохо бы привести в соответствие.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Добавлю, что предыдущие беты 8.50 более поддерживать не нужно, просто текущую 4-ю и предыдущие финальные версии.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

У кого-нибудь ScriollTC сломался в последних бетах TC?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
У меня работает.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
Ничего тогда не понимаю. На чистом ТС 8.5 b5 проверял. А версия ScrollTC у тебя какая?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Версия 1.30. Как и на TC 8.01. Включение в конфиге Autorun:
# Включает функционал ScrollTC
If %AUTORUN_TCARCH% = 32 Then
LoadLibrary Plugins\ScrollTC.dll
Endif
Конфиг ScrollTC — по умолчанию. XP SP3.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
Извиняюсь. Оказался конфликт с какой-то программой. Перезагрузка помогла.
Loopback писал(а):По cpuid посмотрю, но может быть не сейчас.
Смотрел (с февраля-то)? Хотелось бы добавки.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Добавлю, что предыдущие беты 8.50 более поддерживать не нужно
Разумеется, зачем нужны промежуточные беты?
Flasher писал(а):Смотрел (с февраля-то)? Хотелось бы добавки.
Нет, пока нет желания этим заниматься.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Нет, пока нет желания этим заниматься.
Так всё сложно? Может, хотя бы с этого начнём?

А как отключить для ProcessExecGetOutput вывод окна cp с комстрокой? Зачем оно вообще? В мануале об этом вообще ни слова.

Просьба ещё добавить переменную, возвращающую путь папки плагина.
А ещё лучше, если бы новые переменные наследовали пути нужных подпапок: ..wdx\Autorun\Scripts = %Scripts%; ..\wdx\Autorun\Utils = %Utils%.
Относительные пути могут фигурировать только в непосредственной склейке с командами, но их ещё нужно задействовать в параметрах.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Так всё сложно?
Угу. Видишь ли, это хобби. Не ощущаю я желания вникать сейчас в это. Просто неинтересно.
Flasher писал(а):А как отключить для ProcessExecGetOutput вывод окна cp с комстрокой? Зачем оно вообще? В мануале об этом вообще ни слова.
Надо мне было обновить плагин в архиве... Вот тут исправленная версия лежит: http://forum.wincmd.ru/viewpost.php?p=102149
Flasher писал(а):Просьба ещё добавить переменную, возвращающую путь папки плагина.
Это можно.
Flasher писал(а): А ещё лучше, если бы новые переменные наследовали пути нужных подпапок: ..wdx\Autorun\Scripts = %Scripts%; ..\wdx\Autorun\Utils = %Utils%.

Относительные пути могут фигурировать только в непосредственной склейке с командами, но их ещё нужно задействовать в параметрах.
Вот в этом не вижу смысла. "Нужные" - это кому и какие? Мне, например, приведенные выше папки не нужны. Но если будет переменная с путем Autorun, никто не мешает создать нужные переменные к подкаталогам прямо в скрипте.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Просто неинтересно.
Отсутствие интереса с чем связано? С изучением кода или добавлением переменных?
Loopback писал(а):Мне, например, приведенные выше папки не нужны.
Так речь не идёт о папках с конкретным названием. Переменная с именем папки должна формироваться автоматически. А кто как у себя их назовёт - дело десятое.
Loopback писал(а):никто не мешает создать нужные переменные к подкаталогам прямо в скрипте.
Пухнет конфиг от этих лишних строк, скорость запуска и закрытия падает.
Всего-то надо обрамлять папку в знаки процента, а плагин будет проверять существование таких папок в корне и подставлять полный путь в случае истины.
Либо можно сократить переменную, возвращающую путь к корневой папке, до запрещённого символа. Тогда будет ещё лучше.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить