NeleGal-38
- Стаж: 9 лет
- Сообщений: 506
- Репутация:38[+] [-]
- Откуда: Из леса вестимо
|
CreateShortcut (x86/x64) (Ru, En) [12/04/2019]
Версия программы: 1.0 Онлайн обновление: Нет Официальный сайт: NeleGal-EditionСтраница программы: CreateShortcutКанал: Youtube Язык программирования: Delphi Язык интерфейса: Нет Лечение: не требуется Операционная система: Windows XP, 7, 8x, 10, WinPE Описание программы:
Программа для создания ярлыков при загрузке в WinPE. Создание ярлыков происходит при запуске программы. Программа не содержит интерфейса.
Установка, настройка:1 - Откройте Boot.wim файл программой 7zip, скопируйте файл CreateShortcut.exe в папку Boot.wim\Windows\System32\CreateShortcut.exe 2 - Дополните запись в файл Boot.wim\Windows\System32\PEcmd.ini строку. EXEC %windir%\system32\CreateShortcut.exe 3 - Создайте файл ProgPE.ini в корне диска загрузочного накопителя с которого будут запускаться программы. В этом файле создайте следующую запись: Пример [x86] SDNE\WinstAll.exe SDNE\Program\PassReset32.exe SDNE\Program\CrystalDiskInfo\DiskInfo32.exe. [x64] SDNE\WinstAll.exe SDNE\Program\PassReset64.exe SDNE\Program\CrystalDiskInfo\DiskInfo64.exe. Рассмотрим запись подробнее. Секции [x86] и [x64] для запуска приложений в WinPEx86 или WinPEx64 соответственно. Ниже строки - это пути к программам которые будут запускаться, их нужно прописывать без буквы диска.Принцип работы программыПри загрузке WinPE скрытно запускается программа CreateShortcut, она ищет в корне всех дисках файл ProgPE.ini. Далее определяет какая версия WinPE загружена х86 или х64, и считывает соответствующую секцию в файле ProgPE.ini. Если программа прописанная в строке под нужной секцией обнаружена, то программа создаёт для неё ярлык на рабочем столе. После создания всех ярлыков программа закрывается. P.S. Программу делал для себя, выложил на всякий случай, может кому пригодится... Ссылка на страницу проекта
Последний раз редактировалось: NeleGal-38 (2019-05-09 06:27), всего редактировалось 3 раз(а)
|
NeleGal-38
- Стаж: 9 лет
- Сообщений: 506
- Репутация:38[+] [-]
- Откуда: Из леса вестимо
|
vovan1982, Я вообще планировал чтоб программа была простая. В принципе так и получилось, у неё даже интерфейса нет ))) Так то можно сделать чтоб и в пуск добавлять ярлыки. Но позже сей-час занялся ещё одной программой...
|
AZJIO
- Стаж: 6 лет 9 месяцев
- Сообщений: 1324
- Репутация:127[+] [-]
|
Я тоже делал такую программу, она сграбливает ярлыки в базу txt и делает обратную операцию, типа чтобы восстановить. И дополнительно делал скрипт для автоматического восстановления с LiveCD. Но так и не пользовался автоматическим вариантом, потому что проще заранее сделать ярлыки. А вот ручным автоматом до сих пор пользуюсь, настраиваю комп, потом на основе существующих программ и базы создаю меню, которое переношу на панель задач. В "Пуск" хаос, а в менюшке все упорядоченно по разделам. Делал я прогу и для упорядочивания "Пуск", но в реальности отказался, так как невозможно чётко определить свои критерии сортировки этого хаоса.
|
NeleGal-38
- Стаж: 9 лет
- Сообщений: 506
- Репутация:38[+] [-]
- Откуда: Из леса вестимо
|
AZJIO, Я сделал чтоб программа делала ярлыки через реестр, так по моему быстрее да и проще... Вот с пуском придётся повозиться, скорее всего прогу нужно будет переписывать
|
AZJIO
- Стаж: 6 лет 9 месяцев
- Сообщений: 1324
- Репутация:127[+] [-]
|
NeleGal-38 Кстати, помню что скрипт работал медленно на автозагрузке по сравнению с вариантом который был через реестр, но я не разгадал причины, не думаю что прочитать файл базы ярлыков в несколько килобайт как то тормозил систему. В обычной ОС он отрабатывает мгновенно (база). код то простейший#Include <File.au3> ; в каталоге AutoIt3.exe должна быть папка Include с файлом File.au3 AutoItSetOption("TrayIconHide", 1) ;скрыть в системной панели индикатор AutoIt Global $aRecords ; читаем бэкап-файл в массив If Not _FileReadToArray(@ScriptDir&'\base_lnk.txt',$aRecords) Then MsgBox(4096,"Ошибка", "Ошибка чтения массива", @error) Exit EndIf ; В массиве $aRecords будут содержаться все строки файла... ; В массив $aLnk читается каждая строчка состоящая из данных ярлыка $aSet = StringSplit($aRecords[1], "|") $restore_lnk2 = $aSet[1] ; установить путь извечения из бэкапа в первой строке For $i=3 To $aRecords[0] ; решение проблемы пустых строк, пропускать цикл для пустой строки If $aRecords[$i]<>'' Then $aLnk = StringSplit($aRecords[$i], "|") ; проверка, если ярлык содержит "\", то это путь и нужно создать каталог If StringInStr($aLnk[1], '\') > 0 Then $aDirlnk=StringRegExp($aLnk[1], "(^.*)\\(.*)$", 3) If Not FileExists($restore_lnk2&'\'&$aDirlnk[0]) Then DirCreate($restore_lnk2&'\'&$aDirlnk[0]) EndIf ; создание ярлыка FileCreateShortcut($aLnk[2],$restore_lnk2&'\'&$aLnk[1]&'.lnk',$aLnk[3],$aLnk[4],$aLnk[5],$aLnk[6],'',$aLnk[7]) EndIf Next
|
Текущее время: 12-Дек 12:37
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|