Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Как добавить иконку к ярлыку

Ответить
Настройки темы
VBS/WSH/JS - [решено] Как добавить иконку к ярлыку

Аватара для Zerstoren

Пользователь


Сообщения: 56
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Доброго времени суток!
Есть задача создать Url, но чтобы был значок
Код такой
PHP код: Выделить весь код

Set WshShell WScript.CreateObject("WScript.Shell")  

 
strDesktop WshShell.SpecialFolders("Desktop"
 
Set oUrlLink WshShell.CreateShortcut(strDesktop "\ЕК АСУИ.url"
 
oUrlLink.TargetPath "http://loki.gvc.oao.rzd/maximo/webclient/login/login.jsp" 
 
oUrlLink.Save 

 DesktopPath 
sh.SpecialFolders("Desktop")  
 
Set sc sh.CreateShortcut(DesktopPath "\ЕК АСУИ.lnk")  
 
sc.TargetPath sh.ExpandEnvironmentStrings("http://loki.gvc.oao.rzd/maximo/webclient/login/login.jsp")  
 
sc.Arguments "user32.dll,LockWorkStation"  
 
sc.WindowStyle 7  
 sc
.Hotkey ""  
 
sc.Description "ЕК АСУИ"  
 
sc.IconLocation sh.ExpandEnvironmentStrings("%windir%\explorer.exe,14")  
 
sc.WorkingDirectory sh.ExpandEnvironmentStrings(DesktopPath)  
 
sc.Save 

В первом варианте создается URL
Во втором создается LNK

Но и у url и у lnk есть кнопка сменить значок
Картинка

Отправлено: 14:45, 27-05-2017

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


И что? Для класса WshURLShortcut свойство IconLocation не поддерживается.

Вы можете создать url-ярлык, затем открыть его как обычный текстовый файл и тупо дописать две строки, например:
Скрытый текст
Код: Выделить весь код
Option Explicit

Const ForAppending = 8

Dim strPath2UrlFile


strPath2UrlFile = "C:\Мои проекты\0074\My.url"

With WScript.CreateObject("WScript.Shell").CreateShortcut(strPath2UrlFile)
	.TargetPath = "http://forum.oszone.net/thread-327113.html"
	.Save
	WScript.Echo .FullName
End With

With WScript.CreateObject("Scripting.FileSystemObject").OpenTextFile(strPath2UrlFile, ForAppending)
	.WriteLine "IconFile=C:\Windows\system32\SHELL32.dll"
	.WriteLine "IconIndex=27"
End With

WScript.Quit 0

Отправлено: 17:49, 27-05-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Zerstoren

Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
strPath2UrlFile = "C:\Мои проекты\0074\My.url" »
а как сюда засунуть

PHP код: Выделить весь код

strDesktop WshShell.SpecialFolders("Desktop"

 
Set oUrlLink WshShell.CreateShortcut(strDesktop "\ссылка.url"


Отправлено: 19:01, 27-05-2017 | #3


Аватара для Zerstoren

Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Вы можете создать url-ярлык, затем открыть его как обычный текстовый файл и тупо дописать две строки, например: »
почему-то иконку через тотал видно, а через проводник белый листок (я свои поставил значения, но разницы нет)

код

PHP код: Выделить весь код

Option Explicit

Const ForAppending 8

Dim strPath2UrlFile

strPath2UrlFile 
"C:\Users\Admin\Desktop\ярлык.url"

With WScript.CreateObject("WScript.Shell").CreateShortcut(strPath2UrlFile)
    .
TargetPath "http://yandex.ru"
    
.Save
    WScript
.Echo .FullName
End With

With WScript
.CreateObject("Scripting.FileSystemObject").OpenTextFile(strPath2UrlFileForAppending)
    .
WriteLine "IconFile=C:\Windows\system32\SHELL32.dll"
    
.WriteLine "IconIndex=27"
    
.WriteLine "HotKey=0"
End With

WScript
.Quit 0 



содержание url через блокнот

[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2
[InternetShortcut]
URL=http://yandex.ru
IDList=
IconFile=C:\Windows\system32\SHELL32.dll
IconIndex=27
HotKey=0

Последний раз редактировалось Zerstoren, 27-05-2017 в 19:32. Причина: дописал


Отправлено: 19:22, 27-05-2017 | #4


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Zerstoren:
а через проводник белый листок »
Цитата Zerstoren:
содержание url через блокнот »
У меня — нормально:
Скрытый текст

«WScript.Echo .FullName» можно убрать — это по недосмотру оставил.

Цитата Zerstoren:
а как сюда засунуть… »
Например. так:
Скрытый текст
Код: Выделить весь код
Option Explicit

Const ForAppending = 8

Dim strUrlFileName

Dim objFSO
Dim strPath2UrlFile


strUrlFileName = "ссылка.url"

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

With WScript.CreateObject("WScript.Shell")
	strPath2UrlFile = objFSO.BuildPath(.SpecialFolders("Desktop"), strUrlFileName)
	
	With .CreateShortcut(strPath2UrlFile)
		.TargetPath = "http://yandex.ru"
		.Save
	End With
End With
	
With objFSO.OpenTextFile(strPath2UrlFile, ForAppending)
	.WriteLine "IconFile=C:\Windows\system32\SHELL32.dll"
	.WriteLine "IconIndex=27"
End With

Set objFSO = Nothing

WScript.Quit 0

Кстати: использование раскрытие пути к специальной папке Рабочий стол вместо прямого задания пути — правильный подход, Вы совершенно правы.
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:47, 28-05-2017 | #5


Аватара для Zerstoren

Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
У меня — нормально: »
А у меня нет, даже на нулевой виртуалке


Изменяет иконку после второго запуска скрипта
Странно, почему

Отправлено: 09:45, 28-05-2017 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Zerstoren:
Изменяет иконку после второго запуска скрипта »
А если после первого (и единственного) запуска выделить что-нибудь на Рабочем столе и нажать F5?

Отправлено: 11:32, 28-05-2017 | #7


Аватара для Zerstoren

Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
нажать F5? »
да хоть занажимайся

Отправлено: 19:27, 28-05-2017 | #8


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Zerstoren:
да хоть занажимайся »
Давайте ещё одно посмотрим, если Вы не против. Вам оно, конечно, ни к чему, а мне интересно. Если, опять же, с нуля создать ярлык скриптом, а затем завершить сеанс пользователя и заново войти в систему — ярлык отобразится со значком?

Отправлено: 22:34, 28-05-2017 | #9


Аватара для Zerstoren

Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, все сработало!!
тема закрыта

Отправлено: 11:02, 29-05-2017 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Как добавить иконку к ярлыку

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Темы и Стили - Как добавить новую иконку в библиотеку shell32.dll? Птушвиче Оформление Windows 11/ 10 / 8 / 7 / Vista 3 11-06-2013 22:24
CMD/BAT - [решено] Как создать ярлык и поменять его иконку или поменять иконку уже существующего ярлыка Centrinar Скриптовые языки администрирования Windows 6 04-09-2011 10:56
CMD/BAT - Как удалить сет.диски,добавить,добавить ярлыки на раб.стол. Nuc7ear Скриптовые языки администрирования Windows 0 10-03-2011 20:16
CMD/BAT - Добавить пользователя к ярлыку Forpost Скриптовые языки администрирования Windows 1 01-05-2010 14:26
Интерфейс - добавить иконку к меню эксплорера MIsrerY Microsoft Windows 2000/XP 1 17-11-2008 01:35




 
Переход