[Цитировать]

    puhpol
  • 2
  • Стаж: 9 лет 6 месяцев
  • Сообщений: 888
  • Репутация:73

    [+] [-]
Продолжение темы >>
Динамическое создание ярлыков и регистрация програм, находящихся на внешних носителях (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 раз(а)

[Цитировать]

    SergeyZV
  • 528
  • Стаж: 9 лет 1 месяц
  • Сообщений: 1313
  • Репутация:34

    [+] [-]
по ошибке создавала файл в utf8 вместо ansi, что и могло быть причиной проблем с кирилицей.
Проверил. Ошибка пропала. ag

[Цитировать]

    JOYsticK
  • 486
  • Стаж: 9 лет 1 месяц
  • Сообщений: 22
  • Репутация:-1

    [+] [-]
Я правильно понял что эта программа работает при помощи файловых фильтров записи?

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 3 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
JOYsticK,
Не понял вопрос.

[Цитировать]

    JOYsticK
  • 486
  • Стаж: 9 лет 1 месяц
  • Сообщений: 22
  • Репутация:-1

    [+] [-]
nikzzzz, почитал в коментах про драйвер записи в озу, подумал что программа работает через него, записывая ярлыки в озу.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 3 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
JOYsticK,
Нет, программа честно создает ярлыки и прописывает информацию в реестр, после выхода из нее, она восстанавливает все в прежнее состояние, даже в случае , если произошел сбой (например, отключение питания или была нажата кнопка "Reset").

[Цитировать]

    JOYsticK
  • 486
  • Стаж: 9 лет 1 месяц
  • Сообщений: 22
  • Репутация:-1

    [+] [-]
nikzzzz, Спасибо, хочется попробовать, но жаль мануала полного нету.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 3 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
JOYsticK,
Да вроде в мануале все описано, если что-то непонятно, задавайте вопросы в этой теме.

[Цитировать]

    Hunter23071985
  • 874
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 173
  • Репутация:6

    [+] [-]
Так батник не нужен, все можно прописать в .shl файле.
И как же это сделать?
Контекстным меню - подумал, смысла особого нет
Очень даже есть, например, для скриптов, которые не являются самостоятельными программами, или того же 7-zip, который не является программой по-умолчанию.


Последний раз редактировалось: Hunter23071985 (2016-04-23 14:34), всего редактировалось 1 раз

[Цитировать]

    vovan1982
  • 214
  • Стаж: 9 лет 3 месяца
  • Сообщений: 1103
  • Репутация:76

    [+] [-]
  • Откуда: Ростов-на-Дону
За пункт "запуск от имени администратора" отвечает раздел HKEY_CLASSES_ROOT\..\shell\runas\command. Для exe, например - HKEY_CLASSES_ROOT\exefile\shell\runas\command. Там должны быть два строковых параметра: (По умолчанию) и IsolatedCommand со значением "%1\" %*
то есть:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\exefile\shell\runas\command]
@="\"%1\" %*"
"IsolatedCommand"="\"%1\" %*"

[Цитировать]

    Hunter23071985
  • 874
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 173
  • Репутация:6

    [+] [-]
vovan19822, но так вместо bat получается reg-файл. nikzzzz же говорит, что это можно прописать в самом shl без всяких bat и reg. Я всё перерыл, но не нашёл, как это сделать...

[Цитировать]

    vovan1982
  • 214
  • Стаж: 9 лет 3 месяца
  • Сообщений: 1103
  • Репутация:76

    [+] [-]
  • Откуда: Ростов-на-Дону
Hunter23071985, в секцию [AutoRun] файла link.shl добавь
[AutoRun]
hide=yes
bat=
exe=
reg=\start.reg

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 3 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
23858Я всё перерыл, но не нашёл, как это сделать...
Примерно, как-то так
[Shortcut]
exe=\Test.exe
Desktop=\
lnk=Demo Programs
[AutoRun]
hide=yes
exe=Reg.exe add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "%WorkDir%\Test.exe" /t REG_SZ /d "RUNASADMIN" /f
[autoexit]
hide=yes
exe=Reg.exe delete "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "%WorkDir%\Test.exe" /f
Не проверял, но по идее должно работать.

[Цитировать]

    Hunter23071985
  • 874
  • Стаж: 8 лет 11 месяцев
  • Сообщений: 173
  • Репутация:6

    [+] [-]
nikzzzz, спасибо, работает!
Позвольте ещё несколько вопросов:
1) Можно ли разместить Sh.exe + ShCache.exe + Sh.ini не в корне диска?
2) Как присвоить ассоциацию portable-браузеру, чтобы в нём открывались ссылки из Office (н-р, =ГИПЕРССЫЛКА("https://ya.ru/";"Клик"))?
3) Можно ли осуществить монтирование vhd с софтом из указанной папки?
4) И ещё - как пользоваться LAUNCHPATH, LAUNCHNAME, WORKDIR и FOLDERICON?


Последний раз редактировалось: Hunter23071985 (2016-07-29 12:04), всего редактировалось 2 раз(а)

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 3 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Hunter23071985, привет.
1. Можно и нужно. К стати, ShCache.exe вообще не нужен, он выполняется один раз после внесения изменений. А вот за какими папками следить прописано в Sh.ini и не зависит от местоположения Sh .
2. Этим занимается сам Office, как именно он это делает, не знаю.
3. Написать батник монтирования и прописать его а AutoRun.
4. LAUNCHPATH - путь к каталогу лаучера, LAUNCHNAME - первый каталог будет отображаться как имя лаучера, остальное - дерево путей к программам. В пакете есть пример создания лаучера.

LAUNCHPATH=%temp%\Lauch (путь может быть любым)
LAUNCHNAME=Меню\NetWork (для µTorrent)
На картинке видно, что все папки выглядят одинаково, FOLDERICON позволяет заменить их значки на свои.
рабочий каталог - это каталог , используемый по умолчанию, например, если путь к файлу не указан, файл будет взят из него.

[Цитировать]

    nik63
  • 1479
  • Стаж: 8 лет 7 месяцев
  • Сообщений: 502
  • Репутация:19

    [+] [-]
  • Откуда: Башкирия г.Салават
Скажите пожалуйста, можно ли взять готовую сборку ,,Programs,, из другой сборки,например ,,Win PE_ XP_7_8.1_10_ x32&x64 (Native) (EFI) by Xemom1,, и добавить на свою загр.флешку?

Страница 9 из 15


Показать сообщения:    

Текущее время: 07-Май 05:10

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы