Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   [решено] Ярлык и его парамерт окно (http://forum.oszone.net/showthread.php?t=126399)

SAOPP 18-12-2008 20:43 984350

Ярлык и его парамерт окно
 
Существует надобность создать (автоматически) ярлык с изменённым параметром окно: "Свёрнутое в значок".



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

VseDoFeNi 18-12-2008 20:55 984364

SAOPP, CHGSTR.EXE тебе поможет. :)

SAOPP 18-12-2008 21:14 984382

Хорошая тулза, но увы не совсем по запросу...

boss911 18-12-2008 21:21 984392

Цитата:

Цитата SAOPP
есть sfx с Total Commander'ом »

А если в Inno Setup его скомпилировать? Там это легко реализуется, да и по красивее все будет выглядеть, чем простенький не функциональный SFX. Имхо!

Petya V4sechkin 18-12-2008 21:22 984394

SAOPP, в статье Создание ярлыков при установке ОС в примере VBScript выставить oShellLink.WindowStyle = 7.

SAOPP 18-12-2008 21:28 984404

boss911,
Цитата:

Цитата boss911
А если в Inno Setup его скомпилировать? Там это легко реализуется, да и по красивее все будет выглядеть, чем простенький не функциональный SFX. Имхо! »

Интересно касательно написания простого инсталлера для создания ярлыка (такое возможно в inno?), а так мне в любом случае нужен тихий установщик, в этом вопросе модифицированному модулю нет равных.

Petya V4sechkin,
Цитата:

Цитата Petya V4sechkin
в статье Создание ярлыков при установке ОС в примере VBScript выставить oShellLink.WindowStyle = 7. »

Это действительно очень и очень близко к тому, что мне нужно (а я как раз сегодня имел дело с одними скриптами от гисметео.трея, чем собственно очень заинтересовался), это 99% решения по моему, в любом случае буду тестировать.

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

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

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

Petya V4sechkin 18-12-2008 21:48 984423

Цитата:

Цитата SAOPP
VBScript'е можно использовать переменные для пути создания ярлыка?

Working with Special Folders

SAOPP 18-12-2008 21:57 984428

Удалось немножко выкрутиться обрезав скрипт до следующих команд:
Код:

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

Вылазит окошко, что и минутами ранее когда я задавать в пути переменные:


Petya V4sechkin 18-12-2008 22:02 984431

SAOPP, там же примеры есть.
Не нужно знания языка, чтобы использовать примеры.
Код:

Set oShellLink = WshShell.CreateShortcut(WshShell.SpecialFolders("AllUsersStartup") & "\Total Commander.lnk")

SAOPP 18-12-2008 22:04 984432

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

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

Код:

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

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


Время: 06:16.

Время: 06:16.
© OSzone.net 2001-