Определение номера активного набора колонок
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Определение номера активного набора колонок
Можно ли в скрипте AHK как-то определить номер (или наименование) пользовательского набора колонок, установленного на панели? В зависимости от того, какой набор колонок включен, будут выполняться разные команды.
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
В TWinKey есть такая функция
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Maxtor
Можно. Про скрипты см. здесь описание команд cm_LeftSwitchToThisCustomView и cm_RightSwitchToThisCustomView (для того и вводились). Научитесь пользоваться доступной документацией TC. (Это касается и авторов последующих рекомендаций.)
Вахмурка
В TWinKey нет такой функции. Существующие там визуальные схемы — это более ранний аналог нативных стилей оформления, т.е. привязка чего-то (в т.ч. видов представления, включая наборы колонок, и выполнения команд) к папкам, а не колонок и команд друг к другу.
Другой вопрос, что никто не мешает организовать сцепку команд, где сначала организуется переход к некоему набору (команд для их выбора полно на любой вкус, см. тот же справочник), а затем выполняется ещё какая-то команда, записанная через интерфейс em-команд.
Orion9
Давно появилась. Очень давно. В 4.0. Но задача решается не ключами, а командами, и никакие обновления INI-файла тут абсолютно не нужны.
Можно. Про скрипты см. здесь описание команд cm_LeftSwitchToThisCustomView и cm_RightSwitchToThisCustomView (для того и вводились). Научитесь пользоваться доступной документацией TC. (Это касается и авторов последующих рекомендаций.)
Вахмурка
В TWinKey нет такой функции. Существующие там визуальные схемы — это более ранний аналог нативных стилей оформления, т.е. привязка чего-то (в т.ч. видов представления, включая наборы колонок, и выполнения команд) к папкам, а не колонок и команд друг к другу.
Другой вопрос, что никто не мешает организовать сцепку команд, где сначала организуется переход к некоему набору (команд для их выбора полно на любой вкус, см. тот же справочник), а затем выполняется ещё какая-то команда, записанная через интерфейс em-команд.
Orion9
Давно появилась. Очень давно. В 4.0. Но задача решается не ключами, а командами, и никакие обновления INI-файла тут абсолютно не нужны.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Avada
Я только недавно стал интересоваться командами, поэтому многого и раньше не знал и сейчас не знаю, в том числе о существовании cm_LeftSwitchToThisCustomView и cm_RightSwitchToThisCustomView.
Но посмотрев эти команды, разве они не предназначены для переключения к набору по номеру? Автору топика ведь другое нужно, насколько я понял.
Я только недавно стал интересоваться командами, поэтому многого и раньше не знал и сейчас не знаю, в том числе о существовании cm_LeftSwitchToThisCustomView и cm_RightSwitchToThisCustomView.
Но посмотрев эти команды, разве они не предназначены для переключения к набору по номеру? Автору топика ведь другое нужно, насколько я понял.
Maxtor
Я практически не пользуюсь AHK-скриптами и не являюсь специалистом по их синтаксису. К.Гислер приводит указанные команды с пояснением, что они для скриптов, и указанием, что lparam=номер набора. Если вам этого недостаточно, поищите пояснения у нас в других темах или на официальном сайте TC.
Но вы правы: это не определение текущего номера набора, а выбор некоего набора с определённым номером. Если я вас ввёл в заблуждение, извините, но другие рекомендации вашу проблему в заявленном виде не решают тоже, предлагая (правильно или неправильно) только обходные пути. Подозреваю, что задача вообще не имеет нужного вам решения, потому что номер текущего набора просто неоткуда брать. Пока текущее состояние файловых панелей TC не сохранено принудительно (что далеко не всегда хорошо и полезно), оно запоминается только в памяти.
Я практически не пользуюсь AHK-скриптами и не являюсь специалистом по их синтаксису. К.Гислер приводит указанные команды с пояснением, что они для скриптов, и указанием, что lparam=номер набора. Если вам этого недостаточно, поищите пояснения у нас в других темах или на официальном сайте TC.
Но вы правы: это не определение текущего номера набора, а выбор некоего набора с определённым номером. Если я вас ввёл в заблуждение, извините, но другие рекомендации вашу проблему в заявленном виде не решают тоже, предлагая (правильно или неправильно) только обходные пути. Подозреваю, что задача вообще не имеет нужного вам решения, потому что номер текущего набора просто неоткуда брать. Пока текущее состояние файловых панелей TC не сохранено принудительно (что далеко не всегда хорошо и полезно), оно запоминается только в памяти.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Теоретически может получится, если сначала послать из AHK команду сохранения конфигурации, а затем считать значение ключа SpecialView из Wincmd.ini. Но сам я так не делал.Avada писал(а):Подозреваю, что задача вообще не имеет нужного вам решения, потому что номер текущего набора просто неоткуда брать.
Orion9
Это понятно, но выше уже сказано, что такие сохранения не всегда хороши.
А вообще по-хорошему надо было бы подробнее расписать задачу, обозначенную в первом посте, чтобы понять, какие именно разные команды предполагается выполнять для разных наборов колонок — и зачем оно надо. Не исключено, что конечной цели можно добиться как-то иначе.
Это понятно, но выше уже сказано, что такие сохранения не всегда хороши.
А вообще по-хорошему надо было бы подробнее расписать задачу, обозначенную в первом посте, чтобы понять, какие именно разные команды предполагается выполнять для разных наборов колонок — и зачем оно надо. Не исключено, что конечной цели можно добиться как-то иначе.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Код: Выделить всё
tcfs2.exe /ef "if(S_viewMode==300,tcm(271),tcm(300))"