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: Autorun 
Author Message
Orion9



PostPosted: Fri Nov 28, 2025 14:08    Post subject: Reply with quote

Autorun большая плюшка
Раз, два, три и есть менюшка )

 Drives.aucfg

Функция перечисления дисков была реализована еще в модуле Torrents.aucfg, но не пропадать же добру напрасно? Решил, что можно развить эту тему и придать функции вторую жизнь.

Меню отображает логические диски с расширенной информацией о размере и занятом пространстве. Вызов с CTRL добавляет полосу для графического представления, но полоса не является графическим объектом (обычный юникодный символ), поэтому смотрится так себе.

Меня больше привлекла возможность использовать это меню в полноэкранном режиме, вызывая его, например, кликом рядом с вкладками или горячей клавишей, но можно использовать и по-другому. Выбор пункта открывает корень диска. Удержание CTRL - текущий каталог на диске.

Есть у меня террабайтный диск, которому больше 10 лет. Большую часть времени он просто спит. Но в последнее время стал просыпаться медленно, и если вызвать меню в этот момент, то оно может не сразу появиться.

Похоже, это происходит из-за подсчета места в корзине, пришлось добавить еще один модификатор Shift. Вызов меню с Shift не вызывает функцию RecycleBinInfo, которая получает сведения о корзине.

В общем, меню пока очень и очень эксперементальное. Над новыми пунктами и функционалом еще можно подумать.

Loopback
Пока я оставил оба варианта в коде, как вы можете видеть. Вопрос больше связан с примером в справке:
Code:
Local sysdir
DllCall("GetSystemDirectoryW", "wstr:256", @sysdir, "int", 255)

Почему используется int 255 и какой размер буфера создает wstr:256?

Еще вопрос. ControlSetMouseAction /R 15 DrivesMenu, получается, кликает по кнопкам [\] и [..], можно сделать, чтобы эти кнопки не попадали в индекс 15?

P.S.

Лень все-таки была побеждена, и сводка по зарегистрированным командам родилась.

 Hidden text

Регулярные выражения, конечно, значительно упростили задачу, спасибо за функционал. Само меню выглядит так:
 Hidden text

Неактивные пункты значит команда находится не в начале строки и скорее всего закомментирована или ее имя просто упоминается где-то в переменных или функциях.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group