Как поменять иконку vbs файла

Обновлено: 07.07.2024

В ХР можно было поменять иконку файла так
Проводник -> Сервис - Свойства папки. - Типы файлов - Выбрать нужное расширение, например, MP3 - Кнопка "Дополнительно" - Кнопка "Сменить значок" - Кнопка "Обзор"
Найти нужное приложение, например: C:\Program Files\Winamp\winamp.exe
Выбрать нужный значок - OK - OK - Закрыть

как это в семёрке сделать ?

Ответы

> Правда если захотеть иметь недефолтные иконки для многих типов файлов,
то возиться с реестром будет слишком геморно.

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

Это просто пример, который не проверялся, с допуском, что иконки лежат в одном месте и имеют названия вида mp3.ico, avi.ico и т.д

Все ответы

Я делал через реестр. Мне не понравились иконки *.cmd и *.bat файлов. Открыл regedit, посмотрел в
HKCR\.cmd название ассоциации для этого типа файла (в данном примере "cmdfile"). Открыл HKCR\cmdfile\DefaultIcon и поменял значение на путь к нужному файлу иконки.

Название ассоциации для mp3 можно посмотреть командой `assoc .mp3` или как я указывал выше.

Например так: Control panel-->Default Programs-->Set Associations.
Выбрать нужное расширение, потом нажать Change Program
и выбрать дефолтную прогу для данного расширения. Значки файлов
с данным расширением после этого заменятся значками дефолтной проги.

Способ, предложенный O1MDM (ковыряние в реестре и его модификация)
на дефолтные проги не завязан.

> а как чтоб от НЕ дефорлтной проги ?

Я делал через реестр. Мне не понравились иконки *.cmd и *.bat файлов. Открыл regedit, посмотрел в
HKCR\.cmd название ассоциации для этого типа файла (в данном примере "cmdfile"). Открыл HKCR\cmdfile\DefaultIcon и поменял значение на путь к нужному файлу иконки.

Название ассоциации для mp3 можно посмотреть командой `assoc .mp3` или как я указывал выше.



нету у меня \DefaultIcon вот :

> нету у меня \DefaultIcon вот :

А если добавить этот ключ вручную?
И установить (Default) параметр типа REG_EXPAND_SZ,
прописав в качестве значения путь к ресурсу?
У меня (правда под Вистой) этот ключ для AVIFile уже присутствует
и значение параметра: "%SystemRoot%\system32\wmploc.dll,-731".
Сработает ли это в Вин7 -- не знаю. Но во всяком случае хуже не будет.

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

> Правда если захотеть иметь недефолтные иконки для многих типов файлов,
то возиться с реестром будет слишком геморно.

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

Как можно сменить иконку у файла, например, сценария VBS. Не предлагайте сменить иконку при помощи OXI Joiner (изменяет сам скрипт на столько, что становится невозможным его выполнение), смены расширения на файлы, у которых можно менять иконку, конверторы. Желательно сменить иконку программным путём. У меня была (к сожалению не понял всю прелесть программы сразу) программа для изменения расширения (собственно её и ищу). Названия не помню, но там всё разделено на 3 непонятных широких столбца и в правом следует найти (в общем контексте "неземных" символов) расширение исходного файла и переписать на нужное. Кто представляет это жалкое описание, прошу написать название или предоставить ссылку на скачивание.

Если Вы не располагаете программами, не откажусь и от другого способа решения вопроса. Только важно, чтобы при этом сам скрипт не менялся (или очень незначительно).

Вирусные ПО не всегда создаются для внедрения в социальные сети или нанесения существенного вреда ПК.
В приведённом случае использование предназначено не дальше теории. Rentgenium-112
Это вы так говорите. А почему мы должны вам верить?
Я, кажется, вопрос задал. Может пора бы сменит пластинку ( ) и начать писать ответ.

Последний раз редактировалось arseniiv 06.02.2015, 18:30, всего редактировалось 1 раз.

Ответа не получится — вы требуете невозможного. Чтобы сменить значок файла, нужно хоть один раз влезть в реестр — а как вы влезете в реестр, если файл ещё не запускался? Проблема курицы и яйца.

-- Пт фев 06, 2015 20:30:54 --

Дался вам этот VBS; написали бы не скрипт, а обычную программу.

Пособником признается лицо, содействовавшее совершению преступления советами, указаниями, предоставлением информации

Последний раз редактировалось Rentgenium-112 06.02.2015, 19:07, всего редактировалось 1 раз.

Ответа не получится — вы требуете невозможного. Чтобы сменить значок файла, нужно хоть один раз влезть в реестр — а как вы влезете в реестр, если файл ещё не запускался?
Так ведь не скриптом требуется значок менять, а предварительно, перед открытием (открывает подразумеваемая "жертва").
Я, кажется, вопрос задал. Может пора бы сменит пластинку ( ) и начать писать ответ.
А вы еще немного погрубите, все так и бросятся вам помогать. Тут же форум хакеров.

Последний раз редактировалось rockclimber 06.02.2015, 19:22, всего редактировалось 1 раз.

Так ведь не скриптом требуется значок менять, а предварительно, перед открытием (открывает подразумеваемая "жертва").
- Видите ли, тут дело вот в чем. Допустим, кто-то приходит к вам с большим сундуком и говорит, что убил тетку, в сундуке - ее тело вместе с бриллиантами, и если вы спрячете их у себя, он поделится с вами добычей, - только помогите закопать тетку. Потом оказывается, что он обманул вас. В сундуке одни кирпичи. Он не будет нести ответственность - да и за что? За то, что он вас обманул? Но он ничего не получил от вас при помощи этой лжи. Он скажет, что пошутил, - а вам расхлебывать кашу. Вы согласились стать сообщником убийства постфактум, пообещав спрятать награбленное, а также помочь в захоронении трупа. Это наказуемо. Попытка сообщничества рost homicidium [после убийства (лат.)], а также посредничества в реализации награбленного.

Последний раз редактировалось Rentgenium-112 06.02.2015, 19:44, всего редактировалось 1 раз.

Читайте классику!
С. Лем, "Осмотр на месте":

- Видите ли, тут дело вот в чем. Допустим, кто-то приходит к вам с большим сундуком и говорит, что убил тетку, в сундуке - ее тело вместе с бриллиантами, и если вы спрячете их у себя, он поделится с вами добычей, - только помогите закопать тетку. Потом оказывается, что он обманул вас. В сундуке одни кирпичи. Он не будет нести ответственность - да и за что? За то, что он вас обманул? Но он ничего не получил от вас при помощи этой лжи. Он скажет, что пошутил, - а вам расхлебывать кашу. Вы согласились стать сообщником убийства постфактум, пообещав спрятать награбленное, а также помочь в захоронении трупа. Это наказуемо. Попытка сообщничества рost homicidium [после убийства (лат.)], а также посредничества в реализации награбленного.

примечание: я решил это и опубликую свой ответ, хотя, конечно, приветствуются и другие ответы.

У меня есть файл VBS, содержимое не имеет значения, но он действует как обертка и запускает другую программу. Дело в том, что я хочу изменить значок файла VBS на что угодно, например, на значок калькулятора Windows.

Другой файл VBS, который я мог бы хотеть изменить к значку другой программы. Поэтому я не хочу менять все файлы VBS на один и тот же значок.

Я попытался щелкнуть правой кнопкой мыши по значку wscript, перейти к свойствам, выбрать другой значок и щелкнуть «Применить», но значок на панели задач не изменился.

См. Ниже, я сказал ему, чтобы изменить значок для этого закрепленного файла VBS в \windows \system32 \calc.exe и нажал применить - обратите внимание, по крайней мере, значок калькулятора в окне свойств, но значок панели задач по-прежнему не изменился.


Примечание. Был один раз, когда мне удалось как-то изменить его на значок VBS (хотя сейчас я даже не могу этого сделать), но я хочу изменить его на значок любого EXE-файла, такого как calc.exe

Я могу щелкнуть правой кнопкой мыши панель задач, выбрать панели инструментов . новую панель инструментов . и я могу изменить значок определенного ярлыка, но когда я его перетаскиваю, значок не остается на панели задач.

2 ответа 2

1) Сделать ярлык для Wscript.exe

2) Установите целевой объект, добавив файл vbs в качестве параметра, например c:\windows\system32\wscript.exe c:\blah\a.vbs

3) Перетащите ярлык на панель задач.

Вы можете изменить значок между шагами 2 и 3 или после шага 3.

Вы можете перетащить несколько, но вы должны убедиться, что вы измените цель ярлыка.

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

Если вы попытаетесь перетащить сам исполняемый файл, это будет проблемой, потому что вы не меняете цель ярлыка. И в любом случае, так как перетаскивание делает ярлык в любом случае, имеет смысл перетащить ярлык.

Вы можете увидеть путь к этим закрепленным ярлыкам здесь (соответственно измените имя пользователя)

C:\Users\ имя \ AppData \ Roaming \ Microsoft \ Internet Explorer \ Быстрый запуск \ Пользователь закреплен \ TaskBar

И вы можете получить этот путь, сдвинув правой кнопкой мыши закрепленный значок после того, как все его окна закрыты, и вы получите меню со свойствами, которые являются свойствами ярлыка, и на вкладке "Общие" вы увидите расположение файла lnk - каталог, в котором он находится. в том, что я упомянул.

Я опубликую другой ответ, суммирующий это, просто указав, что делать.

(из того, что я могу сказать по крайней мере!) все, что вы перетащите на панель задач, является ярлыком. Таким образом, независимо от того, перетаскиваете ли вы EXE-файл, VBS или LNK-файл, он появляется в виде ярлыка на панели задач.

Знание этого означает, что гораздо меньше возни, потому что гораздо меньше переменных, которые можно попробовать, когда что-то пойдет не так.

Любая попытка перетащить что-либо с сетевого диска завершается неудачей (это не имеет значения, даже если у вас есть файл VBS на сетевом диске, вы все равно можете запустить его с панели задач). Это просто особенность, которую стоит знать.

C:\Users\ имя пользователя \ AppData \ Roaming \ Microsoft \ Internet Explorer \ Быстрый запуск \ Пользователь закреплен \ TaskBar

или если вы хотите скопировать и вставить все это.

% userprofile%\AppData\Roaming\Microsoft\Internet Explorer\ Быстрый запуск \ Пользователь закреплен \ TaskBar

Почему путь говорит "Internet Explorer" - это чье-то предположение, но вот где ярлыки на панели задач

Итак, вместо того чтобы иметь прекрасный значок скрипта для vbs, есть ли возможность изменить его, чтобы он выглядел как что-то другое? Я знаю, что могу изменить его с помощью значка быстрого доступа, но тогда мне придется иметь и ярлык, и vbs. Я попробовал resource hacker, но это позволит мне сделать только .exes .dlls ect, а не .vbs. Кто-нибудь знает способ?

2 ответа

Мне нужно проверить, является ли файл ярлыком. Я все еще пытаюсь выяснить, как будет настроен материал, но у меня может быть только его путь, у меня может быть только фактическое содержимое файла (как byte[]) или у меня может быть и то, и другое. Несколько осложнений включают в себя то, что я могу.

Мне было интересно, можно ли изменить значок приложения iOS, не перекомпилируя его каждый раз. Я хотел бы создать личное приложение, в котором я могу очень легко изменить значок.

Это изменит значок для всех файлов .vbs, а не для отдельных файлов .vbs.

Оттуда вы можете отредактировать значок по умолчанию. По умолчанию он ссылается на 2-й значок в wscript.exe. Измените его на то, что вы хотите.

Попробуйте сохранить его с расширением .vbq.

Похожие вопросы:

Я не пытаюсь изменить главный значок, просто значок пункта меню. Значок, по сути, показывает, записываю ли я в данный момент. Я меняю значок, когда он постукивает с помощью.

У меня есть много исполняемых файлов, которые я скомпилировал (давным-давно), для многих из которых у меня сейчас нет исходного кода. Но когда я их скомпилировал, я не поставил для них никаких.

Мне нужно проверить, является ли файл ярлыком. Я все еще пытаюсь выяснить, как будет настроен материал, но у меня может быть только его путь, у меня может быть только фактическое содержимое файла.

Мне было интересно, можно ли изменить значок приложения iOS, не перекомпилируя его каждый раз. Я хотел бы создать личное приложение, в котором я могу очень легко изменить значок.

Я пытаюсь создать базовый установщик, и у меня возникли проблемы с ярлыком. Установщик работает нормально, но программа отказывается запускаться с ярлыком, который создается, потому что в нем.

У меня есть следующее В моем установочном файле inno, который создает значок рабочего стола без проблем: Name: desktopicon; Description: ; GroupDescription.

Как я могу изменить значок заголовка с помощью html в браузере chrome? Мне нужно изменить значок в строке заголовка с сохраненным изображением на моем компьютере, я смотрел много учебников, чтобы.

Могу ли я изменить значок приложения с высоким разрешением (512x512) после публикации приложения в PROD или ALPHA? Я до сих пор не нашел никакой информации об этом в Android dev guides !

Итак, в основном я создаю программу, которая говорит все, что я запрограммировал, я делаю это в блокноте на windows, и это сценарий VBS, но я хочу знать, могу ли я изменить высоту голоса или как он.

WERT-007 » 26.08.2005 (Пт) 16:08

skord » 26.08.2005 (Пт) 16:10

Свойсво формы Icon?

WERT-007 » 26.08.2005 (Пт) 16:15

Да нет, не у моей программы, а у чужой, скомпилированной программы.

extHack » 26.08.2005 (Пт) 16:18

Ну вообщето это не просто. Узнай смещение в exe, и все такое.

Konst_One » 26.08.2005 (Пт) 16:19

extHack » 26.08.2005 (Пт) 16:19

У меня был такой же вопрос, я заменял значок 32x32 (16 colors) все высчитал. И облом. Значек заменился только в заголовке. Там сложновато

extHack » 26.08.2005 (Пт) 16:25

Можно юзать и Restorator

WERT-007 » 26.08.2005 (Пт) 16:25

А где оно хранится?

И еще - вообще-то мне нужно сделать одной программе, например, значек от другой. Может так проще? В смысле заменять целым куском, а не создаватьь свой?

extHack » 26.08.2005 (Пт) 16:30

А где оно хранится?

И еще - вообще-то мне нужно сделать одной программе, например, значек от другой. Может так проще? В смысле заменять целым куском, а не создаватьь свой?

По сигнатуре файла *.ico

WERT-007 » 26.08.2005 (Пт) 16:35

Понял.
И еще, а где-нибудь можно найти алгоритм работы того же ResHacker'a (ведь он же должен весь exe'шник переделывать. смещения там и т.д.)

skord » 26.08.2005 (Пт) 16:35

Ааа.
Ну вроде были исходники редактора ресурсов на vb, если не ошибаюсь. так что поиск может помочь

Крост » 26.08.2005 (Пт) 18:11

Во-во..мне вдруг стало интерестно, как при помощи VB изменить иконку.

ANDLL » 26.08.2005 (Пт) 19:03

Вообще-то никакого смещения вычислять не надо. Есть функции BeginUpdateResource, UpdateResource и EndUpdateResource. Их и используйте. Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch » 26.08.2005 (Пт) 19:26

Понял.
И еще, а где-нибудь можно найти алгоритм работы того же ResHacker'a (ведь он же должен весь exe'шник переделывать. смещения там и т.д.)

Изображение

Amed » 26.08.2005 (Пт) 22:35

tyomitch , имеется в виду подпись в хедере формата Windows Bitmap-File о том, что это иконка, а не картинка.

tyomitch » 26.08.2005 (Пт) 23:17

Ты имеешь в виду (WORD)1? Хорошая сигнатура, найти по ней иконку в ехе-шнике будет совсем легко

Не говоря уже о том, что и этой "сигнатуры" в иконке в ехе-шнике нет.

Изображение

Amed » 26.08.2005 (Пт) 23:46

Какую еще сигнатуру можно иметь в виду?

Битмапы в ресурсах не различаются "сигнатурами"? Просто данные DIB-формата?

tyomitch » 27.08.2005 (Сб) 16:31

Битмапы в ресурсах различаются типом ресурса, у иконок это RT_ICON=(DWORD)3. Опять же, по этой "сигнатуре" иконку не найти просто так, всё равно придётся разбирать таблицу ресурсов или юзать API.

Изображение

Крост » 27.08.2005 (Сб) 20:34

ANDLL
На счёт функций можно по-подробнее, а то в АпиГид нету их..=(

RUSYA » 28.08.2005 (Вс) 16:44

Private Declare Function BeginUpdateResource Lib "kernel32" Alias "BeginUpdateResourceA" (ByVal pFileName As String, ByVal bDeleteExistingResources As Long) As Long
Private Declare Function UpdateResource Lib "kernel32" Alias "UpdateResourceA" (ByVal hUpdate As Long, ByVal lpType As String, ByVal lpName As String, ByVal wLanguage As Long, lpData As Any, ByVal cbData As Long) As Long
Private Declare Function EndUpdateResource Lib "kernel32" Alias "EndUpdateResourceA" (ByVal hUpdate As Long, ByVal fDiscard As Long) As Long
Private Declare Function FindResourceEx Lib "kernel32" Alias "FindResourceExA" (ByVal hModule As Long, ByVal lpType As String, ByVal lpName As String, ByVal wLanguage As Long) As Long
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function LockResource Lib "kernel32" (ByVal hResData As Long) As Long
Private Declare Function SizeofResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function LoadResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long

Const FileName = "c:\2.exe"

Private Sub Command1_Click() 'Записать
Dim h As Long
Dim txt As String
h = BeginUpdateResource(FileName, 0)
txt = "Текстфывфыв2222222222фывфывфффф"
Call UpdateResource(h, "TEXT", "2", 1049, ByVal txt, Len(txt)) '1049 - язык
Call EndUpdateResource(h, 0)
End Sub

Private Sub Command2_Click() 'Прочитать
Dim txt As String
Dim hgRes As Long

hLib = LoadLibrary(FileName)
hRes = FindResourceEx(hLib, ByVal "TEXT", ByVal "2", 1049)
hLRes = LoadResource(hLib, hRes)
hgRes = LockResource(hLRes)
lenRes = SizeofResource(hLib, hRes)

txt = Space(lenRes)
CopyMemory ByVal txt, ByVal hgRes, lenRes

MsgBox txt
End Sub

RUSYA » 28.08.2005 (Вс) 16:46

GSerg » 28.08.2005 (Вс) 17:13

RUSYA
Этот код работает только в Win2000 и выше.

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ism » 29.08.2005 (Пн) 1:41

Насчет сигнатуры, там и иконка записываенся ни как ICO иконка. В ресурсе груп иконок указывается смещение на иконку в другй ветке, ресурсов иконок. А эта иконка не иконка какойие-то массивы бит AND, XOR и прочая ерунда. Без 100 грам не разобрать, а я не пьщий.
Давным-давно хотел сделать бесплатный аналог Ресторатора, но видимо не судьба. Может это вам поможет.

PS
Я уже давно эту идею забросил.

DmB » 30.08.2005 (Вт) 7:53

Хороший пример работы с resource hacker, кстати можно сменить иконку на 32Bit!

vitas123 » 02.09.2005 (Пт) 17:02

Const RT_ICON = 3&

Всё работает, ресурс добавляется, почему - то в итоге тип ресурса - "3", а содержание не иконка, а шестанадцатеричный код.
Может кто-то догадается?

Читайте также: