[Quote]

    NeleGal-38
  • 122
  • Longevity: 4 years 11 months
  • Posts: 460
  • REPUTATION:32

    [+] [-]
  • Location: Из леса вестимо
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. Программу делал для себя, выложил на всякий случай, может кому пригодится...
Ссылка на страницу проекта


Last edited by NeleGal-38 on 2019-05-09 06:27; edited 3 times in total

[Quote]

    vovan1982
  • 214
  • Longevity: 4 years 9 months
  • Posts: 1086
  • REPUTATION:63

    [+] [-]
  • Location: Ростов-на-Дону
NeleGal-38, привет. Интересная штуковина, но нужно доработать, чтобы создавались ярлыки в меню пуск.

[Quote]

    NeleGal-38
  • 122
  • Longevity: 4 years 11 months
  • Posts: 460
  • REPUTATION:32

    [+] [-]
  • Location: Из леса вестимо
vovan1982, aa
Я вообще планировал чтоб программа была простая. В принципе так и получилось, у неё даже интерфейса нет )))
Так то можно сделать чтоб и в пуск добавлять ярлыки. Но позже сей-час занялся ещё одной программой...

[Quote]

    AZJIO
  • 17953
  • Longevity: 1 year 8 months
  • Posts: 216
  • REPUTATION:44

    [+] [-]
Я тоже делал такую программу, она сграбливает ярлыки в базу txt и делает обратную операцию, типа чтобы восстановить. И дополнительно делал скрипт для автоматического восстановления с LiveCD. Но так и не пользовался автоматическим вариантом, потому что проще заранее сделать ярлыки. А вот ручным автоматом до сих пор пользуюсь, настраиваю комп, потом на основе существующих программ и базы создаю меню, которое переношу на панель задач. В "Пуск" хаос, а в менюшке все упорядоченно по разделам. Делал я прогу и для упорядочивания "Пуск", но в реальности отказался, так как невозможно чётко определить свои критерии сортировки этого хаоса.

[Quote]

    NeleGal-38
  • 122
  • Longevity: 4 years 11 months
  • Posts: 460
  • REPUTATION:32

    [+] [-]
  • Location: Из леса вестимо
AZJIO, aa
Я сделал чтоб программа делала ярлыки через реестр, так по моему быстрее да и проще... Вот с пуском придётся повозиться, скорее всего прогу нужно будет переписывать

[Quote]

    AZJIO
  • 17953
  • Longevity: 1 year 8 months
  • Posts: 216
  • REPUTATION:44

    [+] [-]
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


Display posts:    

Current time is: 20-Nov 14:03

All times are UTC + 3


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