Создавать ярлыки, использующие переменные окружения, из интерфейса Windows не рекомендуется, будут сохранены значения переменных на момент создания.
Правильнее создавать с помощью скрипта PowerShell
$target = "C:\Users\Все пользователи\Рабочий стол\_LeaderTask_.lnk"
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut($target)
$Shortcut.TargetPath = "C:\LeaderTask\%username%\LeaderTask\LeaderTask.exe"
$Shortcut.WorkingDirectory = "C:\LeaderTask\%username%\"
$Shortcut.Description = "Leader Task"
$Shortcut.IconLocation = "C:\LeaderTask\%username%\LeaderTask\LeaderTask.exe, 0"
$Shortcut.Save()
Все параметры этой операции
# Set WshShell = CreateObject("WScript.Shell")
# Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")
# WshShortcut.Arguments = "C:\autoexec.bat"
# WshShortcut.Description = "Пробный ярлык"
# WshShortcut.HotKey = "CTRL+ALT+F"
# WshShortcut.IconLocation = "shell32.dll, 5"
# WshShortcut.TargetPath = "notepad.exe"
# WshShortcut.WindowStyle = 1
# WshShortcut.WorkingDirectory = "C:\"
# MsgBox WshShortcut.FullName
# WshShortcut.Save
ЗЫ После создания ярлыка скриптом, его нельзя править через интерфейс. Переменные окружения подставятся сами
Правильнее создавать с помощью скрипта PowerShell
$target = "C:\Users\Все пользователи\Рабочий стол\_LeaderTask_.lnk"
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut($target)
$Shortcut.TargetPath = "C:\LeaderTask\%username%\LeaderTask\LeaderTask.exe"
$Shortcut.WorkingDirectory = "C:\LeaderTask\%username%\"
$Shortcut.Description = "Leader Task"
$Shortcut.IconLocation = "C:\LeaderTask\%username%\LeaderTask\LeaderTask.exe, 0"
$Shortcut.Save()
# Set WshShell = CreateObject("WScript.Shell")
# Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")
# WshShortcut.Arguments = "C:\autoexec.bat"
# WshShortcut.Description = "Пробный ярлык"
# WshShortcut.HotKey = "CTRL+ALT+F"
# WshShortcut.IconLocation = "shell32.dll, 5"
# WshShortcut.TargetPath = "notepad.exe"
# WshShortcut.WindowStyle = 1
# WshShortcut.WorkingDirectory = "C:\"
# MsgBox WshShortcut.FullName
# WshShortcut.Save
ЗЫ После создания ярлыка скриптом, его нельзя править через интерфейс. Переменные окружения подставятся сами
no subject
Date: 2022-10-06 02:32 pm (UTC)no subject
Date: 2022-10-06 03:30 pm (UTC)То есть с одного каталога нельзя запускать ее для двух и более человек.
Нужен ярлык на общий рабочий стол, чтобы запускалась исключительно копия конкретного пользователя.
Растиражировали как профили копии этой программы.
А вот кажому ставить свой ярлык — нах-нах
Так оказалось идеально создавать ярлык, который для каждого пользователя запускает свою копию программы
Думаю, многим понравится :)
no subject
Date: 2022-10-06 07:47 pm (UTC)С другой стороны программистов-синглтонщиков, которые данные жёстко привязывают к коду надо бить чем-то тяжёлым. Видно со времён жёстко однопользовательских ZX Spectrum и MS-DOS так ничему и не научились.
no subject
Date: 2022-10-06 10:30 pm (UTC)С помощью PSexec (PSTools) запустил FAR от имени системы, решил такой ярлык поправить — не может, сорц не найден