flm

|
Posted: Sat Oct 17, 2009 05:38 Post subject: [REQ] Меню пуск на button bar!!! |
|
|
Здравствуйте. Порой хочется странного, вот и теперь возникло желание необычного, а именно перенести меню Пуск (стандартное виндовое) на тоталовский 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 |
Вроде всё. Писал руками, ничего не проверял, мог где-то ошибиться, но принцип тут уж точно должен стать ясным. Единственное, что при "парсинге" меню пуск, надо будет ещё lnk обрабатывать, иконки там правильные выдирать, пути и т.д. _________________ cogito ergo sum
http://www.yakimchuk.ru/questions.htm - Как правильно задавать вопросы |
|