Продолжение темы >> Динамическое создание ярлыков и регистрация програм, находящихся на внешних носителях (Usb,Cd,NetWork) Программа сканирует подключенные устройства и создает \ удаляет ярлыки и регистрирует (дерегистрирует) программы, находящиеся в указанном каталоге на основе link файлов. Формат link файла приведен ниже.
Формат link файла
[CheckVer] ;Проверка на совместимость , если условия не выполнены, link файл будет проигнорирован. ;совместимые версии, если ключ пустой или отсутствует, проверка игнорируется. OSArch=X86,IA64,X64 OSVersion=WIN_81,WIN_8, WIN_7,WIN_VISTA,WIN_XP,WIN_XPe,WIN_2012R2,WIN_2012,WIN_2008R2,WIN_2008,WIN_2003,WIN_10 ;Наличие файла или каталога , если ключ пустой или отсутствует, проверка игнорируется. TagFile=\demo.exe ;Отсутствие файла или каталога , если ключ пустой или отсутствует, проверка игнорируется. NotTagFile=\demo.exe ;Выполнять только под WinPe WinPeOnly=yes [Shortcut] ;исполняемый файл ;если путь начинается с "\" он будет заменен на текущий, "." (или %WorkDrive%) создаст ярлык для носителя, exe=\demo.exe ;ярлык на рабочем столе Desktop=\ ;ярлык быстрый запуск QuickLaunch=\ ;создание лаунчера, будет создан лаунчер с именем "Demo" LaunchPath=%temp%\Launch LaunchName=Demo\DemoPrograms ;меню пуск StartMenu=UsbFlash\DemoPrograms ;меню программы Programs=UsbFlash\DemoPrograms ;название ярлыка lnk=Demo Programs ;рабочий каталог, по умолчанию workdir=\ workdir=\ ;аргументы , здесь допустимы псевдопеременные %WorkDir% и %WorkDrive% args= ;иконка и ее номер, по умолчанию будет взята из exe=\... icon=shell32.dll,5 ;горячие клавиши hotkey= ;Ассоциации - расширения файлов через запятую Assoc=xxx,zzz ;Иконка для ассоциированных файлов, по умолчанию - определенная в Icon AssocIcon=\MeIcon.dll,3 ;Иконка каталога foldericon= ;Окно - min,max,(normal - по умолчанию) State=max ;Описание программы, видно при наведении курсора. Desc=Test File [AutoRun] ;в этой секции прописаны программы, ;запускаемые при вставке устройства (.bat,.exe,.reg) hide=yes ;hide=no - default bat=\start.bat exe= reg=\start.reg [autoexit] ;аналогично при удалении устройств hide= bat= exe= reg=
Пути поиска носителей указаны в файле Sh.ini
[Config] ;Расширение для link файлов ext=.shl ;Время обновления (только для RamDisk) time=1000 ;Tray traytime=10000 ;Уровень сканирования, Hight - рекомендуется только для отладки ScanLelel=Normal ;Для WinPe сборок не нужен, сохраняет файл отката, например, если программа запущена с флэшки, флэшка удалена, на компе нажали reset или вообще отключили питание, работа утилиты будет восстановлена при его перезагрузке. Это позволяет использовать ее на полноценных системах как менеджер портативных программ. BackPath=%temp%\_$Sh$_\Sh.bck ;Cache файл, создается с помощью ShCache.exe (необязателен, но увеличивает скорость создания ярлыков) Idx=ShCache.idx ;Принудительное отслеживание смены носителей (для сборок win7/win8 , если не отслеживаются, для сборок XP не требуется) DriveControl=yes [RamDisk] ;* - для всех Drives=b ;Путь поиска Path=PePrograms;Programs [REMOVABLE] Drives= Path=PePrograms [CDROM] Drives=* Path=PePrograms [Network] Drives=h Path=PePrograms;Programs [Fixed] Drives= Path= ;Маркерный файл Marker=
Последний раз редактировалось: puhpol (2020-02-11 11:08), всего редактировалось 2 раз(а)
27051Тестируемая программа в папке и рядом её настройки в файле shl.ini
;• ИСКОМОЕ РАСШИРЕНИЕ И ГЛУБИНА ПОИСКА EXT = .sh.ini
Глупая привычка сначала заниматься украшательством, а потом выяснять, почему ничего не работает. В данном случае, .sh.ini не может быть расширением файла (содержит точку), нежелательно использовать пути, содержащие спец. символы и т.п.
Hunter23071985, Я рекомендую сначала создать все заново, используя параметры по умолчанию, не использовать, например табуляции или пробелы в .shl и .ini файлах "EXT = .shl" может отличаться от "EXT=.shl", в путях можно использовать пробелы и кириллицу, а вот от символов ",=+<>@" и т.п. лучше воздержаться. Думаю, все должно получиться. доп. функционал - посмотрю, может что и добавлю, если посчитаю нужным.
27075Вы сочтёте возможным добавить функции №№ 03-10 в программу.
3,7,8 не имеют никакого отношения к Sh, реализованы не будут. 4 вообще-то он реализован 5,6 не особо востребованные функции, может и реализую, если появятся время и желание 9 - не вижу смысла 10 -реализован не будет принципиально.
Hunter23071985, 4 - Проверил на 8x32 8x64 7x32 -прекрасно работает, да и жалоб не было. Я не ставлю свои интересы выше задач пользователя, но и не собираюсь вместо него решать его задачи. 5,6 -задача решается добавлением двух строк в .shl файл, если это делать лень, значит это просто не нужно, и не надо ссылаться на "нехватку" функционала. А по поду исходников - не жалко, но уж больно неприятно, когда старатель вылизанную программу испоганят. Дальнейшее упоминания пункта 10 буду считать флудом со всеми вытекающими последствиями.
nikzzzz Я так понял, что по поводу нового функционала диалог бесполезен, поэтому пока что стёр свои сообщения и скрипты. Вы правы - не стоит добавлять слишком много всего в одну программу. Ведь самая классная функция Sh - возможность применения reg и bat файлов. Это позволяет реализовать недостающие функции в отдельных модулях и использовать их по необходимости, не усложняя код основной программы. Прошу прощения за свою возможно излишнюю настойчивость. Если получится написать что-то стоящее, результатом поделюсь. Есть 3 вопроса: 1) Можно ли использовать в 1 файле shl несколько аргументов BAT и REG? Если да, то как они будут выполняться - последовательно или параллельно? 2) Как должен работать лаунчер? Т.е. Sh должен создавать меню в трее или только наполнять и очищать меню, созданное пользователем? 3) Что может привести к невозможности заполнения меню лаунчера? Может ли влиять расположение меню Пуск, число ярлыков в трее или что-то ещё?
Xemom1, Суть в том,что взял ваши boot.wimы 8.1 и с них запускаю установку винды. Соответственно папка в корне флешки поменялась. В Sh.ini поменял пути на свои. Сделал по образцу .shl обновил .idx. Но ярлык не появился после запуска. Попробовал снова скопировать и заново все сделать. Все получилось. Может в первый раз где-то косячнул. nikzzzz, Утилита огонь.
_________________ Подпись отключена за нарушение правил форума
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы