Продолжение темы >> Динамическое создание ярлыков и регистрация програм, находящихся на внешних носителях (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 раз(а)
nikzzzz Возможно, Вы бегло прочитали мой пост или просто время уже позднее, но я говорил, что всё прочитал, попробовал и планировал детально заняться в выходные. Во второй части Вашего ответа чувствуется заинтересованность. Поэтому могу сказать, что под "тегом" имел ввиду переменные в *.shl, а StartScreen - это StartMenu в Win8 и новее. Но из первой части можно сделать совсем другой вывод о том, что развитие программы остановлено и какие-либо пожелания не приветствуются. Если это так, мне искренне жаль. В отличие от других я сразу по достоинству оценил Вашу программу, она замечательная и, надеюсь, станет ещё лучше. Хочется верить, что Вы, как Автор, тоже в этом заинтересованы. Надеюсь, мы сможем спокойно и предметно поговорить без лишней конфронтации. Но сразу хотелось бы понять, возможен ли диалог, что именно есть и что надо уточнить?
Hunter23071985, Программа написана под классическое меню Пуск, поддержки StartScreen нет и не будет, я не желаю поддерживать это уродство. Пункты а) , в) , 09) , 10) ,11) полностью поддержаны. 02) не реализуем , надо - конвертируйте. 08) - imxo, можно , но не вижу смысла. 1)-6) - решается простым батничком. 5) , 12) - эти функции не соответствуют самой идеологии программы, нужно - добавляйте сами.
nikzzzz Спасибо, внёс информацию и уточняющие вопросы в свой пост. Интересно получить ответы на них, а также на оставшиеся без внимания пункты Г, Д и 07. Честно говоря, я очень сильно расстроен. Особенно меня убили пункты Б, 03 и 06 - они для меня критичны. Может Вы их всё же сделаете или хотя бы батниками для них поделитесь?
Г) будет время, добавлю. 07) это "Программы" в классическом меню пуск. 03) здесь не совсем понятно, портабельные программы сами этим должны заниматься. 06) батник:
nikzzzz В) Что же насчёт тега (или как его лучше назвать?) для автозапуска программы после старта Sh? Будет или нет? Г) Спасибо! Жду и надеюсь! Может тогда Б и 08 добавите, когда время будет? Пожалуйста! Д) А прямо в иконку Sh в трее можно добавить секцию "Программы" (там, где Refresh, Pause, etc.)? 03) Поддерживающую WinXP...10 portable программу нельзя последовательно запустить, скажем, на XP, 7 x86 и 8.1 x64. При каждом переходе надо вручную чистить песочницу, содержащую не только настройки, но и часто личные данные. Если бы она очищалась сама, работать было бы невозможно - при каждом старте программы её приходилось бы настраивать. Поэтому хотелось бы иметь пункт для принудительной очистки всех песочниц - чистить вручную не прикалывает. 06) и 09) Вы не поняли вопроса, но Бог с ним, вычёркиваю - расставить окна можно и вручную (отлов по PID и масштаб всё равно работают не всегда); да и окно командного интерпретатора при запуске и закрытии Sh не так уж напрягает. 07) Интересно, чем отличаются Programs и StartMenu? Первый добавляет ярлыки в группу Программы, а второй - в само меню Пуск что ли?
23579В) Что же насчёт тега (или как его лучше назвать?) для автозапуска программы после старта Sh? Будет или нет?
Так он есть.
[AutoRun] ;в этой секции прописаны программы, ;запускаемые при вставке устройства (.bat,.exe,.reg) hide=yes ;hide=no - default bat=\start.bat exe= reg=\start.reg
Д) Нет, это меню самой программы, оно не редактируется. 03) Это принципиально невозможно, свою песочницу создает сама программа , автоматом удалить ее просто не получется.
2357907) Интересно, чем отличаются Programs и StartMenu? Первый добавляет ярлыки в группу Программы, а второй - в само меню Пуск что ли?
Утилита обновлена. Добавлена возможность создать свой лаунчер (пример на скрине) Исправлен баг, когда на рабочем столе оставались несуществующие ярлыки. Внимание !!! Немного изменился синтаксис, необходимо заменить
Спасибо за обновление! Подумайте ещё над StartScreen, контекстным меню Windows и запуском от Администратора без батника. Пожалуйста! Позарез нужно. Очень Вас прошу!
Ну не знаю, как по мне так предыдущая версия работала лучше. Эта версия устанавливает иконки на много дольше как будто не читает ShCache.idx!? И ещё по ShCache.exe всех версий - не любит русские шрифты и портит их в файлах *.shl.
Так батник не нужен, все можно прописать в .shl файле. Поддержки StartScreen не будет, дело принципа. Контекстным меню - подумал, смысла особого нет, есть поддержка ассоциаций, зачем добавлять лишний пункт, если все и так открывается по умолчанию ?
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы