Изменение значка на ярлыке и на папке

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Изменение значка на ярлыке и на папке

Сообщение A.A.Z. » 27.01.2005 (Чт) 17:25

Два вопроса:
1) Как изменить значок ярлыка
2) Как изменить значок папки (в XP+ это можно)
Буду рад любым ответам :roll:

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 27.01.2005 (Чт) 17:38

1)
Имеем пример от Оловяникова:
http://www.vbrussian.com/download.asp?T ... mple&ID=63

Если, скажем, на десктопе уже есть ярлык с таким названием, то он заменяется новым. Соответственно, и меняется иконка. Надо только прочитать старый ярлык и скопировать его параметры в новый. :?

Это уже легче, нет? ;)

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 27.01.2005 (Чт) 17:41

Shell32.ShellLinkObject
юзать метод SetIconLocation

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.01.2005 (Чт) 17:42

Или смотри пример от меня :)
Линк сам найдёшь? :)


А значок папки можно изменить в 98+. Для этого нуно заиметь в папке то ли desktop.ini, то ли folder.htt, то ли их сразу :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.01.2005 (Чт) 19:09

desktop.ini

folder.htt - для спец-фич в виде "как веб-страницу" (с полоской слева)
Изображение

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 27.01.2005 (Чт) 21:47

Thanks a lot! Бум пробовать :)

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 27.01.2005 (Чт) 21:58

Всем спасибо!
Значок папке поменять оказалось совсем просто: в desktop.ini прописать
Код: Выделить всё
[.ShellClassInfo]
IconFile=ICON.ICO
IconIndex=0
А с ярлыком разобрался через
[edit]Стоп! А почему на строчку Dim a As New Shell32.ShellLinkObject реагирует ошибкой 429? Что я не так объявил?? :(
зы Юзаю Shell32 потому что ярлык у меня будет от подключения у инету :roll: [/edit]

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 29.01.2005 (Сб) 17:07

потому что, ентот объект можно только методом другого создать,
например у ShellFolderItem есть метод GetLink()

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 29.01.2005 (Сб) 22:50

Не понял :( Не мог бы ты пример кинуть? :roll:


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 15

    TopList