Продолжение темы >> Динамическое создание ярлыков и регистрация програм, находящихся на внешних носителях (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=
Last edited by puhpol on 2020-02-11 11:08; edited 2 times in total
nikzzzz, Приветствую! Тут маленькая "хотелка" появилась: А можно сделать так что бы если программа в папке с link файлом есть, ярлык программы показывался. А если программы нет , не показывался..... Такое возможно?
nikzzzz, Спасибо огромное! У нас "Инженеры" - волшебники! В РЕДМИ пойдет так?
;Наличие файла, если ключ пустой или отсутствует, проверка игнорируется. ;Если программа есть - ярлык показывается, если программы нет - игнорируется. TagFile=\прога.exe
Да, еще , прогу можно использовать для системных программ, пример:
;Создание ярлыка для Редактор групповых политик [Shortcut] exe=gpedit.msc Desktop=yes icon=shell32.dll,5 Desc=Редактор групповых политик Lnk=Редактор групповых политик
Довольно удобно, когда лезешь на чужой компьютер, а там в меню только рючечки.
Ну уж это перевод "Group Policy" на русский. Набери в "Выполнить" gpedit.msc, политики и полезут. А как , например, отключить обновления Win10 не используя их, я не знаю. А приведенный пример - на многих компах просто нет "Выполнить", да и помнить имя исполняемого файла надо, а так вставил флэшку - получил нормально настроенное под себя системное меню, хотя на флэшке нет не одного исполняемого файла.
nikzzzz, Sh - в ядре, ярлык на нее на Рабочем столе для подгрузки ряда программ с флешки в какой-то момент. Нет ли опции сносить ярлык с Рабочего стола после старта программы, он уже не нужен, только захламляет стол?
14729Нет ли опции сносить ярлык с Рабочего стола после старта программы
Специальной опции нет, но для запуска таких программ можно использовать .bat файл
Start "" "Прога.exe" For /f "usebackq delims=" %%a IN (`dir /b /s "%USERPROFILE%\Прога.lnk"`) do Del /f /q "%%a" For /f "usebackq delims=" %%a IN (`dir /b /s "%ALLUSERSPROFILE%\Прога.lnk"`) do Del /f /q "%%a"
nikzzzz, тут пытаюсь по возможности обезопасить флешку от злобных AV Sh - пофиг, она обычно в ядрах, а вот открытую ShCache.exe не признают 6 из 54 на вирус-тотал... Хотя если и снесут при проверке флешки, индекс останется Может глянешь, как постараться обойти, может каким-то упрощением при её сборке
nikzzzz, А автозапуск некоторых программ можно как-то организовать нвстройкой SHL? Например вот эти (флаговый индикатор клавы и/или добавить батником какой-то довесок (папку Макромедии) в системную на X:) нужны сразу при старте ядра 81x32, но не нужны при других ядрах/разрядностях... А ярлыки стола/пункты меню - факультативно).
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum