Войти

Показать полную графическую версию : [решено] Ярлык и его парамерт окно


SAOPP
18-12-2008, 20:43
Существует надобность создать (автоматически) ярлык с изменённым параметром окно: "Свёрнутое в значок".

http://img390.imageshack.us/img390/558/84605953im0.png

Конкретный пример таков, есть sfx с Total Commander'ом, сам ТК настроен на сворачивание в трей, соответственно, для того, что бы при запуске ярлыка он сворачивался в трей, нужно как раз таки и указать в ярлыке "Свёрнутое в значок". Таким образом, положив данный ярлык в автозапуск, ТК всегда будет стартовать и сворачиваться сам, НО! Есть то, что есть, как изменить и чем (тулзой?) этот параметр я не знаю, как бы выходом является следующее... Взять и запихнуть вместе с ТК в sfx ярлык из рабочей системы, изменив при этом путь на переменную (например) %ProgramFiles% - но тогда второй вопрос топика: как скорректировать путь к файлу и рабочей папке у этого ярлыка на другой системе? (т.е. что бы переменные превратились в реальные пути на конечной машине).

VseDoFeNi
18-12-2008, 20:55
SAOPP, CHGSTR.EXE тебе поможет. :)

SAOPP
18-12-2008, 21:14
Хорошая тулза, но увы не совсем по запросу...

boss911
18-12-2008, 21:21
есть sfx с Total Commander'ом »
А если в Inno Setup его скомпилировать? Там это легко реализуется, да и по красивее все будет выглядеть, чем простенький не функциональный SFX. Имхо!

Petya V4sechkin
18-12-2008, 21:22
SAOPP, в статье Создание ярлыков при установке ОС (http://oszone.net/6161) в примере VBScript выставить oShellLink.WindowStyle = 7.

SAOPP
18-12-2008, 21:28
boss911, А если в Inno Setup его скомпилировать? Там это легко реализуется, да и по красивее все будет выглядеть, чем простенький не функциональный SFX. Имхо! »
Интересно касательно написания простого инсталлера для создания ярлыка (такое возможно в inno?), а так мне в любом случае нужен тихий установщик, в этом вопросе модифицированному модулю нет равных.

Petya V4sechkin, в статье Создание ярлыков при установке ОС в примере VBScript выставить oShellLink.WindowStyle = 7. »
Это действительно очень и очень близко к тому, что мне нужно (а я как раз сегодня имел дело с одними скриптами от гисметео.трея, чем собственно очень заинтересовался), это 99% решения по моему, в любом случае буду тестировать.

VBScript'е можно использовать переменные для пути создания ярлыка?
Set oShellLink = WshShell.CreateShortcut("%ALLUSERSPROFILE%\Главное меню\Программы\Автозагрузка\Total Commander.lnk")

И так насколько удалось выяснить, создаётся ярлык только на системном диске (?), причины понять не удалось, и второе, переменные не интерпретируются реальным путям :( хотя и действует смена параметра окно :)

Тогда вопрос такого плана, можно ли ИЗМЕНЯТЬ таким скриптом определённый ярлык?

Petya V4sechkin
18-12-2008, 21:48
VBScript'е можно использовать переменные для пути создания ярлыка?
Working with Special Folders (http://www.microsoft.com/technet/scriptcenter/guide/sas_wsh_xkki.mspx?mfr=true)

SAOPP
18-12-2008, 21:57
Удалось немножко выкрутиться обрезав скрипт до следующих команд:
Set WshShell = WScript.CreateObject("WScript.Shell")
' Создание ярлыка:
Set oShellLink = WshShell.CreateShortcut("C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка\Total Commander.lnk")
oShellLink.WindowStyle = 7
oShellLink.Save
Вопрсо только в том, к4ак заставить Set oShellLink = WshShell.CreateShortcut понимать переменные.

Из ссылочки выше удалось выдернуть переменную для автозагрузки всех юзеров AllUsersStartup, но как тогда применять её в скрипте? Я сам то vbs не так часто встречал и уж тем более возился с ними.

При таком скрипте:
Set WshShell = WScript.CreateObject("WScript.Shell")
' Создание ярлыка:
Set oShellLink = WshShell.CreateShortcut("AllUsersStartup\Total Commander.lnk")
oShellLink.WindowStyle = 7
oShellLink.Save
Вылазит окошко, что и минутами ранее когда я задавать в пути переменные:

http://img167.imageshack.us/img167/2407/76512779ms7.png

Petya V4sechkin
18-12-2008, 22:02
SAOPP, там же примеры есть.
Не нужно знания языка, чтобы использовать примеры.
Set oShellLink = WshShell.CreateShortcut(WshShell.SpecialFolders("AllUsersStartup") & "\Total Commander.lnk")

SAOPP
18-12-2008, 22:04
Уже нашёл :) в примерах для ярлычков, спасибо. Пока тестирую.

Хех, удалось найти решение вот таким скриптом, может быть кому-то пригодиться, он редактирует уже готовый ярлык на предмет установки ему параметра окно: "свернутое в значок".

Set WshShell = WScript.CreateObject("WScript.Shell")
Set oShellLink = WshShell.CreateShortcut(WshShell.SpecialFolders("AllUsersStartup") & "\Total Commander.lnk")
oShellLink.WindowStyle = 7
oShellLink.Save

Спасибо Petya V4sechkin, в тысячный раз ;)




© OSzone.net 2001-2012