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: [REQ] Меню пуск на button bar!!! 
Author Message
flm



PostPosted: Sat Oct 17, 2009 05:38    Post subject: [REQ] Меню пуск на button bar!!! Reply with quote

Здравствуйте. Порой хочется странного, вот и теперь возникло желание необычного, а именно перенести меню Пуск (стандартное виндовое) на тоталовский button bar. Остановимся на этот раз просто на пункте Программы. Итак, для выполнения задачи требуется написать некий парсер, который бы, грубо говоря, рекурсивно сканировал "c:\Documents and Settings\All Users.WINDOWS\Главное меню\Программы\" и создавал bar-файлы соответствующие структуре данного каталога.
Начинаем так - создаём programs.bar, далее сканируем структуру, если попадается каталог, создаём *.bar с его именем, в programs.bar кидаем на него ссылку и в самом *.bar файле сразу делаем выход на вышестоящий bar. Т.е. на programs.bar в данном случае.
Надеюсь, я не слишком запутанно изъясняюсь и в целом задача ясна. Может кто напишет программку или скрипт, который бы проделывал вышеописанное? Я так подумал, что данную программу можно было бы использовать шире, не только для перевода меню Пуск на button.bar... Ладно, то уже дело десятое...

Всё-таки дам пример небольшой для многоуровневого bar'а, вдруг не ясно что я имею в виду.

Итак, допустим мы имеем следующую структуру: каталог catroot содержит 2 подкаталога: sub1 и sub2. При этом в каждом из этих подкаталогов у нас имеются проги, которые мы хотим запускать (по 2 штуки) - sub1prg1.exe, sub1prg2.exe и sub2prg1.exe, sub2prg2.exe.
При этом bar-файлы реализующие всё это будут выглядить так:

catroot.bar:
Code:

[Buttonbar]
Buttoncount=2
button1=TOTALCMD.EXE, 1
cmd1=sub1.bar
menu1=sub1
iconic1=1
button2=TOTALCMD.EXE, 1
cmd2=sub2.bar
iconic2=1
menu1=sub2


sub1.bar:
Code:

[Buttonbar]
Buttoncount=3
button1=TOTALCMD.EXE, 10
cmd1=catroot.bar
iconic1=1
menu1=[...]
button2=sub1prg1.exe, 0
cmd2=sub1prg1.exe
menu2=sub1prg1
button3=sub1prg2.exe, 0
cmd3=sub1prg2.exe
menu3=sub1prg2


sub2.bar:
Code:

[Buttonbar]
Buttoncount=3
button1=TOTALCMD.EXE, 10
cmd1=catroot.bar
iconic1=1
menu1=[...]
button2=sub2prg1.exe, 0
cmd2=sub2prg1.exe
menu2=sub2prg1
button3=sub2prg2.exe, 0
cmd3=sub2prg2.exe
menu3=sub2prg2


Вроде всё. Писал руками, ничего не проверял, мог где-то ошибиться, но принцип тут уж точно должен стать ясным. Smile Единственное, что при "парсинге" меню пуск, надо будет ещё lnk обрабатывать, иконки там правильные выдирать, пути и т.д.
_________________
cogito ergo sum
http://www.yakimchuk.ru/questions.htm - Как правильно задавать вопросы
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group